亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? sound.cpp

?? 泡泡堂單機(jī)版源碼 內(nèi)容: 模擬泡泡堂的一個(gè)小作品
?? CPP
字號(hào):
#include "Sound.h"

#define	SAFE_RELEASE(p)			{if (p) { p->Release();	p = NULL;}}

CSound::CSound()
{
		CoInitialize(NULL);
		m_pDirectAudioPerformance = NULL;
		m_pDirectAudioLoader = NULL;
}

CSound::~CSound()
{
	//	stop
	m_pDirectAudioPerformance->Stop(NULL, NULL, 0, 0);
	//	close
	m_pDirectAudioPerformance->CloseDown();

	SAFE_RELEASE(m_pDirectAudioPerformance);
	SAFE_RELEASE(m_pDirectAudioLoader);
	CoUninitialize();
}

bool	CSound::Initialize(HWND	hWnd)
{
	//Create the DirectAudio performance object
	if(CoCreateInstance(CLSID_DirectMusicPerformance, NULL, CLSCTX_INPROC, 
		IID_IDirectMusicPerformance8, 
		(void**) &m_pDirectAudioPerformance) != S_OK)
	{
		return false;
	}

	//Create the DirectAudio loader object
	if(CoCreateInstance(CLSID_DirectMusicLoader, NULL, CLSCTX_INPROC, 
		IID_IDirectMusicLoader8, 
		(void**) &m_pDirectAudioLoader) != S_OK)
	{
		return false;
	}

	//Initialise the performance object
	if(FAILED(m_pDirectAudioPerformance->InitAudio(NULL, NULL, hWnd,
		DMUS_APATH_SHARED_STEREOPLUSREVERB,
		64, DMUS_AUDIOF_ALL, NULL)))
	{
		return false;
	}

	//Get the our applications "CSounds" directory.
	CHAR strCSoundPath[MAX_PATH];
	GetCurrentDirectory(MAX_PATH, strCSoundPath);
	strcat(strCSoundPath, "\\Sound");

	//Convert the path to unicode.
	WCHAR wstrCSoundPath[MAX_PATH];
	MultiByteToWideChar(CP_ACP, 0, strCSoundPath, -1, wstrCSoundPath, MAX_PATH);

	//Set the search directory.
	if(FAILED(m_pDirectAudioLoader->SetSearchDirectory(GUID_DirectMusicAllTypes,
		wstrCSoundPath, FALSE)))
	{
		return false;
	}

	CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC, IID_IGraphBuilder, (void**)&m_pGraph);

	return true;
}

void CSound::InitialiseWavMidi(CWavMidi** pWavMidi)
{
	(*pWavMidi) = new	CWavMidi(m_pDirectAudioPerformance,m_pDirectAudioLoader);
}


void	CSound::InitialiseMP3(CMP3** pMp3)
{
	(*pMp3) = new	CMP3(m_pGraph);
}


CWavMidi::CWavMidi(IDirectMusicPerformance8* pDirectAudioPerformance, IDirectMusicLoader8* pDirectAudioLoader)
{
	m_pDirectAudioPerformance = pDirectAudioPerformance;
	m_pDirectAudioLoader = pDirectAudioLoader;
	m_pSegment = NULL;
}

CWavMidi::~CWavMidi(void)
{
	Stop();

	SAFE_RELEASE(m_pSegment);
	//	不能刪
	//	SAFE_RELEASE(m_pDirectAudioPerformance);
	//	SAFE_RELEASE(m_pDirectAudioLoader);
}

void CWavMidi::Load(const char* szCSoundFileName)
{
	WCHAR wstrCSoundPath[MAX_PATH];
	MultiByteToWideChar(CP_ACP, 0, szCSoundFileName, -1, wstrCSoundPath, MAX_PATH);
	m_pDirectAudioLoader->LoadObjectFromFile(CLSID_DirectMusicSegment, IID_IDirectMusicSegment8,
											wstrCSoundPath, (void**) &m_pSegment);
	m_pSegment->Download(m_pDirectAudioPerformance);
}

void CWavMidi::Play(DWORD dwNumOfRepeats)
{
	m_pSegment->SetRepeats(dwNumOfRepeats);
	m_pDirectAudioPerformance->PlaySegmentEx(m_pSegment, NULL, NULL, 0, 0, NULL, NULL, NULL);
}

void CWavMidi::Stop()
{
	m_pDirectAudioPerformance->StopEx(m_pSegment, 0, 0);
}

bool CWavMidi::IsPlaying()
{
	if(m_pDirectAudioPerformance->IsPlaying(m_pSegment, NULL) == S_OK)
	{
		return true;
	}
	else
	{
		return false;
	}
}

CMP3::CMP3(IGraphBuilder*	pGraph)
{
	m_pGraph = pGraph;

	m_pGraph->QueryInterface(IID_IMediaControl, (void**)&m_pMediaControl);

	m_pGraph->QueryInterface(IID_IMediaPosition, (void**)&m_pMediaPosition);
}

CMP3::~CMP3()
{
	SAFE_RELEASE(m_pMediaPosition);
	SAFE_RELEASE(m_pMediaControl);
//	不能刪
//	SAFE_RELEASE(m_pGraph);
}

void	CMP3::Load(const char* szSoundFileName)
{
	CHAR strSoundPath[MAX_PATH];
	WCHAR wstrSoundPath[MAX_PATH];

	GetCurrentDirectory(MAX_PATH, strSoundPath);
	strcat(strSoundPath, "\\Sound\\");
	strcat(strSoundPath, szSoundFileName);

	//Convert the path to unicode.
	MultiByteToWideChar(CP_ACP, 0, strSoundPath, -1, wstrSoundPath, MAX_PATH);

	m_pGraph->RenderFile(wstrSoundPath, NULL);

}

void	CMP3::Play()
{
	//Make sure that we are at the start of the stream
	m_pMediaPosition->put_CurrentPosition(0);
	//Play mp3
	m_pMediaControl->Run();
}

void	CMP3::Stop()
{
	m_pMediaControl->Stop();
}

bool	CMP3::IsPlaying()
{
	REFTIME refPosition;
	REFTIME refDuration;

	m_pMediaPosition->get_CurrentPosition(&refPosition);
	m_pMediaPosition->get_Duration(&refDuration);

	if(refPosition < refDuration)
	{
		return true;
	}
	else
	{
		return false;
	}
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品第一页第二页第三页| 亚洲女爱视频在线| 91美女蜜桃在线| 蜜臀久久99精品久久久画质超高清| 国产精品久久久久久福利一牛影视| 欧美丰满少妇xxxxx高潮对白| 国产aⅴ综合色| 日韩国产精品91| 亚洲天堂av老司机| 国产日韩欧美精品在线| 欧美疯狂做受xxxx富婆| 日本高清无吗v一区| 成人黄色片在线观看| 美腿丝袜在线亚洲一区| 亚洲综合一二区| 国产精品美女一区二区三区| 91精品国产一区二区三区香蕉 | 美国十次了思思久久精品导航| 国产精品久久久久久久第一福利| 精品第一国产综合精品aⅴ| 欧美性感一区二区三区| 99精品视频在线免费观看| 国产毛片精品一区| 男男成人高潮片免费网站| 亚洲福利视频三区| 一区二区三区免费看视频| 国产精品久久免费看| 久久精品一二三| 亚洲精品一区二区三区四区高清| 91精品在线麻豆| 在线播放一区二区三区| 欧美日韩精品电影| 欧美在线看片a免费观看| 91麻豆自制传媒国产之光| 波多野结衣91| 99精品视频在线播放观看| 成人综合在线视频| 成人激情黄色小说| gogogo免费视频观看亚洲一| 成人一区二区视频| 国产a久久麻豆| zzijzzij亚洲日本少妇熟睡| av网站免费线看精品| 97久久精品人人做人人爽| 色综合天天天天做夜夜夜夜做| www.成人网.com| 在线看不卡av| 欧美日韩精品一区二区天天拍小说| 欧美午夜宅男影院| 欧美欧美午夜aⅴ在线观看| 91精品国产色综合久久不卡电影| 欧美一区二区三区性视频| 日韩视频免费观看高清完整版 | 欧美在线高清视频| 欧美色倩网站大全免费| 欧美日韩卡一卡二| 欧美成人欧美edvon| 国产亚洲综合av| 自拍偷拍亚洲综合| 亚洲成av人片在线观看| 日韩经典一区二区| 九九精品视频在线看| 成人黄色小视频在线观看| 91激情在线视频| 日韩小视频在线观看专区| 国产午夜精品美女毛片视频| 亚洲视频免费在线观看| 亚洲成av人片| 激情欧美一区二区| 91小视频免费看| 91精品国产综合久久国产大片| 久久精品人人爽人人爽| 亚洲欧美aⅴ...| 蜜乳av一区二区| 99久久国产综合精品女不卡| 欧美三级在线播放| 久久久久久久综合狠狠综合| 一区二区三区**美女毛片| 久久爱www久久做| 色欧美日韩亚洲| 精品99一区二区| 一区二区三区.www| 国产在线视频一区二区| 91农村精品一区二区在线| 欧美男生操女生| 国产精品国产三级国产aⅴ无密码| 亚洲大片一区二区三区| 高清不卡一二三区| 日韩亚洲欧美一区二区三区| 中文字幕亚洲一区二区va在线| 天堂在线亚洲视频| 成人黄色av网站在线| 日韩一区二区三区三四区视频在线观看| 国产精品久久久久久久久免费丝袜| 亚洲1区2区3区视频| av男人天堂一区| 26uuu亚洲综合色欧美| 亚洲成人激情av| 成人av网站免费观看| 欧美不卡一区二区| 亚洲一区二区精品3399| 国产不卡高清在线观看视频| 91精品国产91久久久久久最新毛片| 国产精品久久久久永久免费观看 | 欧美日韩在线亚洲一区蜜芽| 国产性天天综合网| 日本系列欧美系列| 91久久精品一区二区三区| 中文欧美字幕免费| 激情图区综合网| 制服丝袜亚洲色图| 伊人色综合久久天天人手人婷| 懂色av一区二区三区免费观看 | 顶级嫩模精品视频在线看| 欧美一个色资源| 天堂av在线一区| 欧美在线视频日韩| ㊣最新国产の精品bt伙计久久| 国产成人精品免费一区二区| 精品久久久三级丝袜| 美国一区二区三区在线播放| 欧美日韩国产bt| 亚洲午夜一二三区视频| 色婷婷综合久色| 亚洲欧美日韩中文播放| av亚洲精华国产精华| 国产精品久久久久一区| 国产91精品一区二区| 国产亚洲欧美一级| 国产美女久久久久| 国产欧美日本一区二区三区| 国产精品自在欧美一区| 精品成人在线观看| 国产精品99久久不卡二区| 久久久久国产精品麻豆| 国产69精品久久久久毛片| 国产日本欧洲亚洲| 成人天堂资源www在线| 亚洲国产精品99久久久久久久久| 国产福利一区二区三区| 国产精品丝袜久久久久久app| 国产99一区视频免费| 亚洲欧洲精品一区二区三区 | 日韩亚洲欧美一区| 麻豆精品久久精品色综合| 欧美sm美女调教| 国产一区二区三区四区五区入口 | 成人一区二区三区视频在线观看| 国产亚洲制服色| 99精品国产91久久久久久| 亚洲综合丝袜美腿| 欧美一区二区三区免费视频 | 成人精品免费看| 亚洲欧美在线高清| 在线视频你懂得一区| 天堂成人免费av电影一区| 精品国产伦一区二区三区观看方式| 狠狠色狠狠色综合日日91app| 欧美韩国日本不卡| 91久久精品日日躁夜夜躁欧美| 日韩制服丝袜先锋影音| 精品噜噜噜噜久久久久久久久试看| 粉嫩在线一区二区三区视频| 亚洲色图欧美在线| 欧美一卡2卡3卡4卡| 成人夜色视频网站在线观看| 亚洲免费观看高清完整版在线观看熊| 欧美日韩国产一区二区三区地区| 久久成人麻豆午夜电影| 国产精品人妖ts系列视频| 欧美体内she精高潮| 精品一区二区国语对白| 国产精品视频线看| 欧美午夜精品久久久久久超碰 | 亚洲成人久久影院| 欧美精品一区二区高清在线观看| 成人精品免费视频| 日韩激情视频网站| 国产精品久久久久精k8 | 亚洲少妇30p| 日韩亚洲欧美一区二区三区| 成人免费观看av| 日韩高清不卡在线| 中文字幕五月欧美| 精品国一区二区三区| 色婷婷综合激情| 国产在线国偷精品免费看| 亚洲综合在线观看视频| 久久色在线观看| 欧美日韩国产中文| 91首页免费视频| 国内精品写真在线观看| 亚洲资源中文字幕| 国产精品青草久久| 精品福利一二区| 8v天堂国产在线一区二区| 成人伦理片在线| 国模套图日韩精品一区二区 | 久久久久久久久久久久久夜| 欧美日韩一本到|