IDirectSoundBuffer8 :: SetVolume不会影响sndvol32混音器应用程序

时间:2016-10-14 00:09:57

标签: windows winapi directx

Microsoft对传统音频应用程序的主题有以下说法:

  

在Windows Vista中,Sndvol会立即反映出的音量变化   应用程序通过调用IDirectSoundBuffer :: SetVolume   方法或waveOutSetVolume函数。

我发现waveOutSetVolume函数确实如此,但对于IDirectSoundBuffer8 :: SetVolume()则不然。直接声音缓冲器似乎有自己的增益阶段,与SndVol混音器中设置的应用程序音量相乘。

任何人都可以确认是这种情况,还是我在某处做错了什么?也许错过一面旗帜或类似的东西?

1 个答案:

答案 0 :(得分:0)

请记住,IDirectSoundBuffer :: SetVolume是100 dB的衰减,而waveOutSetVolume是线性比例。根据您要同时输入的值,您可能无法获得预期的结果。