Jos*_*ien 8 c++ com winapi core-audio wasapi
我正在编写自己的API来执行SndVol系统实用程序的一些功能.我希望这个API的一部分能够设置给定音频会话的音量级别.
SndVol在"设备"面板上显示一个滑块,用户可以使用该滑块更改音频设备的主音量级别以及每个音频会话的滑块(在"应用程序"面板上),用于更改会话的音量级别:

如果我拖动其中一个音频会话的滑块手柄,则SndVol可以更改音频会话的音量级别.它是如何做到的?
我认为可以使用Windows Vista的Core Audio API,但我遇到的问题是虽然我能够使用一个设备迭代设备的音频会话IAudioSessionEnumerator,但IAudioSessionEnumerator只能让我访问IAudioSessionControl对象,但我需要该IAudioClient对象来获取一个ISimpleAudioVolume对象我可以用来设置音频会话音量级别.是否有可能获得与IAudioClient对象关联的IAudioSessionControl对象?
Rei*_*man 11
如果在IAudioSessionControl接口上调用QueryInterface,则通常可以访问ISimpleAudioVolume.