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

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

?? sound.cpp

?? 和小的時候玩的90坦克 類似
?? CPP
字號:
// DirectSound.cpp: implementation of the CDirectSound class.
//
//////////////////////////////////////////////////////////////////////

#include "Sound.h"
#include "wavread.h"

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


static char szSoundEffects[NUM_SOUND_EFFECTS][40] =
{
	"Gunfire.wav",
	"Bang.wav",
	"Hit.wav",
	"Peow.wav",
	"Fanfare.wav",
};


//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CDirectSound::CDirectSound()
{
	m_pDS = NULL;
	for( int i = 0; i < NUM_SOUND_EFFECTS; i ++ )
		m_pdsBuffer[i] = NULL;
}

CDirectSound::~CDirectSound()
{
	Destroy();
}


BOOL CDirectSound::Init( HWND hWnd )
{
	// Create DirectSound
	if( FAILED(DirectSoundCreate( NULL, &m_pDS, NULL )) )
		return FALSE;

	m_pDS->SetCooperativeLevel( hWnd, DSSCL_NORMAL );

	// Create Sound buffer
	CWaveSoundRead waveSound;
	char filename[MAX_PATH];

	for( int i = 0; i < NUM_SOUND_EFFECTS; i ++ )
	{
		lstrcpy( filename, "sound\\" );
		lstrcat( filename, szSoundEffects[i] );
		if( FAILED(waveSound.Open( filename )) )
			continue;
		
		waveSound.Reset();
		
		DSBUFFERDESC	dsbd;
		ZeroMemory( &dsbd, sizeof(dsbd) );
		dsbd.dwSize = sizeof(dsbd);
		dsbd.dwFlags = DSBCAPS_STATIC;
		dsbd.dwBufferBytes = waveSound.m_ckIn.cksize;
		dsbd.lpwfxFormat = waveSound.m_pwfx;

		if( FAILED(m_pDS->CreateSoundBuffer(&dsbd, &m_pdsBuffer[i], NULL)) )
		{
			waveSound.Close();
			Destroy();
			return FALSE;
		}

		LPVOID lpvAudio;
		DWORD  dwBytes;
		m_pdsBuffer[i]->Lock(
				0,
				0,
				&lpvAudio,
				&dwBytes,
				NULL,
				NULL,
				DSBLOCK_ENTIREBUFFER);
		
		UINT cbBytesRead;
		waveSound.Read( dwBytes, (LPBYTE)lpvAudio, &cbBytesRead );
	
		m_pdsBuffer[i]->Unlock( lpvAudio, dwBytes, NULL, 0 );

		waveSound.Close();
	}

	return TRUE;
}


BOOL CDirectSound::LoadEffect( EFFECT sfx )
{
	int idx = (int)sfx;

	CWaveSoundRead waveSound;
	char filename[MAX_PATH] = "sound\\";
	
	lstrcpy( filename, szSoundEffects[idx] );
	if( FAILED(waveSound.Open( filename )) )
		return FALSE;

	waveSound.Reset();
	
	LPVOID lpvAudio;
	DWORD  dwBytes;
	m_pdsBuffer[idx]->Lock(
			0,
			0,
			&lpvAudio,
			&dwBytes,
			NULL,
			NULL,
			DSBLOCK_ENTIREBUFFER);
		
	UINT cbBytesRead;
	waveSound.Read( dwBytes, (LPBYTE)lpvAudio, &cbBytesRead );
	
	m_pdsBuffer[idx]->Unlock( lpvAudio, dwBytes, NULL, 0 );

	waveSound.Close();

	return TRUE;
}


BOOL CDirectSound::Play( EFFECT sfx )
{
	HRESULT hr;
	int idx = (int)sfx;
	if( !m_pdsBuffer[idx] )
		return FALSE;

	m_pdsBuffer[idx]->SetCurrentPosition(0);
	hr = m_pdsBuffer[idx]->Play( 0, 0, 0 );
	if( hr == DSERR_BUFFERLOST )
	{
		hr = m_pdsBuffer[idx]->Restore();
		LoadEffect( sfx );
	}

	if( FAILED(hr) )
		return FALSE;
	return TRUE;
}


void CDirectSound::Stop( EFFECT sfx )
{
	int idx = (int)sfx;
	if( !m_pdsBuffer[idx] )
		return;

	m_pdsBuffer[idx]->Stop();
}


void CDirectSound::Destroy()
{
	for( int i = 0; i < NUM_SOUND_EFFECTS; i ++ )
		SAFE_RELEASE( m_pdsBuffer[i] );
	SAFE_RELEASE( m_pDS );
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费视频一区| 午夜精品久久久久久久蜜桃app| 视频一区欧美日韩| 欧美卡1卡2卡| 免费高清在线视频一区·| 欧美丰满嫩嫩电影| 免费看欧美美女黄的网站| 精品国产不卡一区二区三区| 国产成a人亚洲精| 国产精品久久久久久亚洲伦| 一本到高清视频免费精品| 亚洲一区二区视频| 欧美一级搡bbbb搡bbbb| 免费成人在线网站| 国产精品久久久久久久久久免费看| 99精品黄色片免费大全| 午夜视频一区二区三区| 日韩免费电影一区| 成人h版在线观看| 亚洲高清在线精品| 精品国产污污免费网站入口 | 26uuu成人网一区二区三区| 国产精品资源在线看| 一区二区三区在线视频观看| 欧美一区在线视频| 成人av影院在线| 青青草97国产精品免费观看| 日本一区二区三区四区在线视频| 一本一道久久a久久精品| 日本午夜一区二区| 国产精品青草综合久久久久99| 在线观看不卡视频| 国产精品中文有码| 亚洲国产aⅴ天堂久久| 久久精品人人做人人综合| 在线亚洲一区观看| 国产一区二区三区在线观看免费视频| 亚洲色图在线播放| 日韩欧美一二三四区| 91在线视频在线| 激情图片小说一区| 亚洲aaa精品| 国产精品不卡一区二区三区| 日韩欧美一卡二卡| 在线亚洲免费视频| 亚洲欧洲精品一区二区三区不卡 | 一区二区三区电影在线播| 精品国产一区二区在线观看| 在线免费观看成人短视频| 国产一区二区毛片| 免费一区二区视频| 亚洲成人动漫在线观看| 亚洲日本在线天堂| 欧美国产乱子伦| 精品成人一区二区| 717成人午夜免费福利电影| 91成人国产精品| 91蜜桃在线免费视频| 国产成人在线视频网站| 毛片av中文字幕一区二区| 亚洲一区二区在线观看视频| ●精品国产综合乱码久久久久| 久久精品欧美一区二区三区不卡| 欧美一区二区日韩| 欧美日韩中字一区| 91成人在线精品| 91蜜桃免费观看视频| 成人av在线观| www.欧美亚洲| 成人av在线播放网址| 成人av电影免费在线播放| 极品尤物av久久免费看| 蜜臂av日日欢夜夜爽一区| 亚洲成av人片在线| 一卡二卡欧美日韩| 中文字幕亚洲不卡| 国产精品黄色在线观看| 中文字幕va一区二区三区| 中文字幕精品—区二区四季| 国产精品久久久爽爽爽麻豆色哟哟| 久久先锋影音av鲁色资源| 久久精品一区二区三区四区 | 欧美日韩免费观看一区三区| 91麻豆精东视频| 成人h精品动漫一区二区三区| 成人午夜免费电影| 不卡大黄网站免费看| 本田岬高潮一区二区三区| 91一区二区在线观看| 91视频一区二区三区| 91福利社在线观看| 欧美日韩日本视频| 欧美成人女星排名| 欧美精品一区在线观看| 国产日韩欧美精品一区| 国产精品久久久久影院亚瑟| 国产精品系列在线| 一区二区三区欧美亚洲| 三级在线观看一区二区| 麻豆成人av在线| 国产一区二区三区免费在线观看| 国产精品99久久久久久久vr | 日韩理论在线观看| 亚洲精品视频一区| 调教+趴+乳夹+国产+精品| 91免费在线播放| 欧美精品在线一区二区| 精品国产一区二区三区久久久蜜月| 国产日韩欧美激情| 亚洲精品国产无套在线观| 午夜精品一区在线观看| 精品一区二区三区香蕉蜜桃 | 一本色道久久综合精品竹菊| 欧美日韩亚洲高清一区二区| 日韩欧美成人激情| 日本一区二区三区高清不卡| 亚洲国产一区二区视频| 精一区二区三区| 97se亚洲国产综合自在线不卡 | 91精品国产综合久久久久久久 | www.日本不卡| 538在线一区二区精品国产| 久久精品一区二区三区不卡| 亚洲一区免费观看| 久久成人综合网| 91亚洲午夜精品久久久久久| 欧美高清激情brazzers| 国产精品污网站| 日韩精品亚洲专区| av一区二区三区四区| 91精品国产欧美一区二区成人 | 色婷婷亚洲综合| 精品国精品国产| 一区二区三区四区亚洲| 国产精品综合久久| 欧美日韩国产大片| 国产精品国产自产拍在线| 激情另类小说区图片区视频区| 日本高清免费不卡视频| 久久久国产综合精品女国产盗摄| 一区二区成人在线| 成人黄色大片在线观看| 久久综合九色综合97婷婷| 午夜精品久久一牛影视| 色综合久久天天| 中文字幕成人在线观看| 国产乱码字幕精品高清av | 日韩女优电影在线观看| 亚洲精品美腿丝袜| 成人美女在线观看| 26uuu亚洲综合色| 日本成人在线电影网| 91福利在线免费观看| 国产精品久久久久影院亚瑟| 国产呦萝稀缺另类资源| 日韩欧美的一区| 日本最新不卡在线| 555www色欧美视频| 性感美女久久精品| 欧美亚洲一区三区| 亚洲男人天堂av| 日本乱码高清不卡字幕| 国产精品污网站| av在线不卡观看免费观看| 欧美国产日韩亚洲一区| 国产99久久久国产精品| 精品91自产拍在线观看一区| 肉色丝袜一区二区| 欧美精品久久一区二区三区| 亚洲午夜电影在线| 欧美三级电影精品| 亚洲国产一区在线观看| 欧美日韩亚洲综合一区| 婷婷久久综合九色国产成人| 欧美日韩一区二区三区不卡| 亚洲第一会所有码转帖| 欧美日韩成人综合| 美女网站在线免费欧美精品| 欧美大片一区二区三区| 精品午夜久久福利影院 | 国产精品亚洲а∨天堂免在线| 欧美精品一区二区精品网| 国产一区二区免费视频| 日本一区二区三区四区在线视频 | 91同城在线观看| 亚洲成人免费影院| 欧美一区二视频| 精品一区二区免费视频| 国产色综合一区| av电影天堂一区二区在线| 一区二区三区精品久久久| 欧美日韩一区 二区 三区 久久精品| 婷婷综合久久一区二区三区| 日韩欧美亚洲国产另类| 国产在线麻豆精品观看| 中文av一区特黄| 欧美在线啊v一区| 久久99这里只有精品| 亚洲国产高清aⅴ视频| 欧美综合天天夜夜久久|