【发布时间】:2013-06-21 01:53:19
【问题描述】:
使用 WASAPI,我可以控制系统音量。 我想知道,我可以通过编程控制特定应用程序的音量。 (当然这是windows7以后才有的)可以吗?
【问题讨论】:
标签: c++ visual-studio-2008 audio wasapi
使用 WASAPI,我可以控制系统音量。 我想知道,我可以通过编程控制特定应用程序的音量。 (当然这是windows7以后才有的)可以吗?
【问题讨论】:
标签: c++ visual-studio-2008 audio wasapi
您可以控制应用程序(会话)的音量,就像标准音量混合器一样。在Session Volume Controls 中阅读此内容,其中解释得很详细:
WASAPI 客户端可以单独控制每个音频会话的音量。 [...]
为了支持这种行为,WASAPI 实现了 ISimpleAudioVolume 界面。当用户移动应用程序滑块时,应用程序 调用 ISimpleAudioVolume::SetMasterVolume 方法来调整 相应的会话音量级别。 Sndvol 监控音量变化 通过这种方法并反映音量滑块的变化 它显示。
要发现正在运行的会话,您可以使用IAudioSessionEnumerator 接口。看看这个代码 sn-p/application 实现发现:AudioSessionVolumeNotification。
【讨论】: