Directx之Dsound播放音频文件

本文详细介绍了如何使用DirectX的DSound组件来播放音频文件,包括初始化设备,设置音频参数,创建及操作缓冲区等关键步骤。
摘要由CSDN通过智能技术生成

1.初始化并 设置音频设备的合作级别 cooperative level

IDirectSound8*            g_ds;  
IDirectSoundBuffer8*      g_ds_buffer; 
 
DirectSoundCreate8(NULL, &g_ds, NULL);
g_ds->SetCooperativeLevel(g_hwnd, DSSCL_NORMAL);

2.

设置 WAVEFORMATEX wave_format (关于wav音频文件的参数设置)

DSBUFFERDESC ds_buffer_desc;

// zero out strcutre
ZeroMemory(&ds_buffer_desc, sizeof(DSBUFFERDESC));

ds_buffer_desc.dwSize = sizeof(DSBUFFERDESC); 
ds_buffer_desc.dwFlags = DSBCAPS_CTRLVOLUME;ds_buffer_desc.dwBufferBytes = wave_format.nAvgBytesPerSec * 2; // 2 seconds
ds_buffer_desc.lpwfxFormat = &wave_format;

3.创建缓冲区

g_ds->CreateSoundBuffer(&ds_buffer_desc, &ds, NULL) 
ds->QueryInterface(IID_IDirectSoundBuffer8, (void**)&g_ds_buffer);
ds->Release();


4.锁定缓冲区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值