|
|
发表于 2006-4-17 10:14:00
|
显示全部楼层
Re:LPDIRECTSOUNDBUFFER如何设置声音大小?》
找到了,我的代码有两个地方错了。
(1)
m_pBuffer->SetVolume((LONG)vol);
应该是m_pBuffer->SetVolume((LONG)m_lVolume);
(2)
DSBUFFERDESC dsbd;
ZeroMemory(&dsbd,sizeof(DSBUFFERDESC));
dsbd.dwSize = sizeof(dsbd);
dsbd.dwFlags = DSBCAPS_CTRLVOLUME;
dsbd.dwBufferBytes = m_wfx.nAvgBytesPerSec * 2;//8192;//(DWORD)BUFFERSIZE;
dsbd.guid3DAlgorithm = GUID_NULL;
dsbd.lpwfxFormat = &m_wfx;
HRESULT hr;
if(FAILED( hr = m_pDS->CreateSoundBuffer(&dsbd,&m_pBuffer,NULL)))
这段
dsbd.dwFlags = DSBCAPS_CTRLVOLUME;
我原来写的是
dsbd.dwFlags = 0;//DSBCAPS_CTRLVOLUME;
调试的时候注释掉了,以后一直没试过音量,就忘了
多谢你,我一直都没注意过
|
|