一个soundbuffer
这样创建:
memset(&dsbdesc, 0, sizeof(DSBUFFERDESC));
dsbdesc.dwSize = sizeof(DSBUFFERDESC);
dsbdesc.dwFlags = DSBCAPS_STATIC | DSBCAPS_CTRLFREQUENCY | DSBCAPS_CTRLPAN | DSBCAPS_CTRLVOLUME| DSBCAPS_GETCURRENTPOSITION2;
dsbdesc.dwBufferBytes = dwBufSize;
dsbdesc.lpwfxFormat = (LPWAVEFORMATEX)&pcmwf;这样播放:
rval = Buffer->SetVolume(Volume);
if(rval != DS_OK) return FALSE;
rval = Buffer->Play(0, 0, dwFlags);
其中volume 一定为-10000就是要静音。 但是我仍然偶尔能听到声音, 我想问问为什么出现这样的问题。 大概是什么原因, 因为现在没有找到规律, 只是在程序切换的时候, 出现声音的几率大些。 那我高手指点一下。 因为规律没有找到所以不是很好条。
这样创建:
memset(&dsbdesc, 0, sizeof(DSBUFFERDESC));
dsbdesc.dwSize = sizeof(DSBUFFERDESC);
dsbdesc.dwFlags = DSBCAPS_STATIC | DSBCAPS_CTRLFREQUENCY | DSBCAPS_CTRLPAN | DSBCAPS_CTRLVOLUME| DSBCAPS_GETCURRENTPOSITION2;
dsbdesc.dwBufferBytes = dwBufSize;
dsbdesc.lpwfxFormat = (LPWAVEFORMATEX)&pcmwf;这样播放:
rval = Buffer->SetVolume(Volume);
if(rval != DS_OK) return FALSE;
rval = Buffer->Play(0, 0, dwFlags);
其中volume 一定为-10000就是要静音。 但是我仍然偶尔能听到声音, 我想问问为什么出现这样的问题。 大概是什么原因, 因为现在没有找到规律, 只是在程序切换的时候, 出现声音的几率大些。 那我高手指点一下。 因为规律没有找到所以不是很好条。
在DS中,我一般这样设置静音:
调用IBasicAudio的Lput_Volume()函数,
用了很长时间,也没有发现你所说的问题啊.请问:你的Buffer是什么东东?