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

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

?? sound.cpp

?? 很不錯的完整源程序
?? 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一区二区三区免费野_久草精品视频
亚洲国产精品黑人久久久| 99久久久无码国产精品| 欧美视频一区在线| 国产精品国产三级国产aⅴ中文| 奇米色777欧美一区二区| 99riav一区二区三区| 91精品国产综合久久精品app| 亚洲精品国产a| 粉嫩嫩av羞羞动漫久久久 | 亚洲一线二线三线视频| 欧洲日韩一区二区三区| 一区二区三区产品免费精品久久75| 成人丝袜视频网| 国产午夜精品久久久久久免费视| 久久国产精品99精品国产| 欧美一区二区三区免费大片 | 久久久综合视频| 麻豆成人91精品二区三区| 这里只有精品99re| 国产成人免费视频| 亚洲激情五月婷婷| 日韩手机在线导航| 国产精品成人一区二区艾草| 不卡的电影网站| 一区二区三区成人在线视频| 91精品国模一区二区三区| 久久国产尿小便嘘嘘| 中文字幕一区二区三区不卡在线| 一本久道中文字幕精品亚洲嫩| 亚洲主播在线观看| www成人在线观看| 在线观看视频一区二区| 看电视剧不卡顿的网站| 综合激情网...| 2021中文字幕一区亚洲| 91麻豆swag| 成人性视频网站| 毛片av中文字幕一区二区| 亚洲欧洲另类国产综合| 欧美va日韩va| 精品视频999| 色综合中文综合网| 亚洲成人三级小说| 亚洲日本在线观看| 久久综合狠狠综合久久激情| 在线观看免费一区| 99精品欧美一区二区三区小说 | 国产在线不卡视频| 免费在线观看一区| 五月天网站亚洲| 午夜视频在线观看一区二区| 国产精品美女视频| 亚洲自拍另类综合| 韩国一区二区视频| 欧美在线免费播放| 久久久久久99久久久精品网站| 日韩欧美成人一区| 国产精品久久久久久久久晋中| 亚洲老司机在线| 国产精品亚洲成人| 欧美日韩视频在线第一区| 国产欧美一区二区精品性色超碰 | 1024成人网| 亚洲婷婷在线视频| 日韩专区在线视频| 老司机免费视频一区二区| 极品美女销魂一区二区三区免费 | 亚洲午夜三级在线| 免费成人av在线播放| 成人综合在线观看| 在线观看www91| 2023国产精品自拍| 一区二区三区免费在线观看| 日本vs亚洲vs韩国一区三区二区 | 国产一区二区三区综合 | 香蕉久久一区二区不卡无毒影院| 免费成人小视频| 99re亚洲国产精品| 国产亚洲欧美一区在线观看| 欧美主播一区二区三区| 一本到高清视频免费精品| 天天综合天天综合色| 一区二区三区在线视频播放| 亚洲视频免费看| 亚洲乱码日产精品bd| 国产精品三级电影| 日韩福利电影在线观看| 丁香亚洲综合激情啪啪综合| 欧美三级视频在线观看| 久久精品人人爽人人爽| 日韩成人一区二区| 色综合久久综合网97色综合| 久久精品视频一区| 日韩二区在线观看| 欧美在线一区二区| 亚洲激情一二三区| 日本高清不卡在线观看| 国产精品美女久久久久高潮| 国产成人综合亚洲网站| 精品国产一区二区三区四区四| 日韩av在线发布| 欧美福利视频一区| 日本欧美韩国一区三区| 欧美一区二区观看视频| 蜜臀a∨国产成人精品| 在线不卡的av| 久久99国产精品成人| 日韩欧美一区二区久久婷婷| 日本欧美肥老太交大片| 欧美mv和日韩mv国产网站| 国产精品白丝jk黑袜喷水| 中文字幕第一区二区| av在线播放一区二区三区| 最近日韩中文字幕| 91麻豆精品在线观看| 午夜精品视频一区| 欧美猛男男办公室激情| 日本sm残虐另类| 久久品道一品道久久精品| 成人v精品蜜桃久久一区| 一区二区三国产精华液| 日韩欧美国产电影| 99精品热视频| 日本美女视频一区二区| 国产精品视频yy9299一区| 在线免费不卡视频| 精品一区二区三区蜜桃| 亚洲精品乱码久久久久久黑人| 欧美日韩大陆一区二区| 国产成人av影院| 亚洲大片免费看| 国产精品免费网站在线观看| 欧美精品三级在线观看| 97se狠狠狠综合亚洲狠狠| 美美哒免费高清在线观看视频一区二区 | 日韩**一区毛片| 亚洲美女视频在线| 国产精品乱码妇女bbbb| 6080yy午夜一二三区久久| 色八戒一区二区三区| 成人免费视频网站在线观看| 精品一区二区三区视频 | 国产精品对白交换视频| 7777精品伊人久久久大香线蕉经典版下载| 国产一区二区三区免费观看| 日韩黄色免费网站| 亚洲高清视频的网址| 亚洲国产一区二区三区青草影视| 亚洲欧美综合色| 中文字幕一区二区视频| 国产精品传媒入口麻豆| 国产精品久久精品日日| 国产欧美一二三区| 1024成人网| 亚洲图片自拍偷拍| 日本不卡视频在线| 国内成人免费视频| 国产不卡视频在线观看| 91在线国内视频| 欧美吻胸吃奶大尺度电影| 欧美性xxxxxx少妇| 欧美成va人片在线观看| 欧美激情一区二区三区不卡| 亚洲素人一区二区| 日本亚洲电影天堂| 国产精品一二三四| 欧美亚洲动漫制服丝袜| 欧美性猛交xxxx乱大交退制版 | 黑人巨大精品欧美黑白配亚洲| av亚洲产国偷v产偷v自拍| 欧美一区二区视频在线观看2022 | 欧美网站一区二区| 亚洲美女在线一区| 91理论电影在线观看| 国产精品麻豆久久久| 国产精品一区一区三区| 欧美电影免费观看高清完整版在线 | 亚洲一区二区三区四区中文字幕| 日本成人中文字幕在线视频| 91蜜桃婷婷狠狠久久综合9色| 欧美大片在线观看一区二区| 中文字幕五月欧美| 国产精品性做久久久久久| 欧美一级日韩免费不卡| 一区二区三区加勒比av| 91小视频在线免费看| wwwwww.欧美系列| 国产精品一二二区| 精品久久久久久久久久久久久久久久久| 亚洲一卡二卡三卡四卡五卡| 99久久99久久久精品齐齐| 亚洲精品美国一| 欧美成人bangbros| 国产精品亚洲一区二区三区在线 | 成人黄色在线视频| 一区二区在线观看视频在线观看| 欧美日韩精品三区| 青青草一区二区三区| 久久新电视剧免费观看| 国产成人免费在线视频|