处理特定应用程序的音量级别

Posted

技术标签:

【中文标题】处理特定应用程序的音量级别【英文标题】:handling specific applications volume-level 【发布时间】:2013-06-21 01:53:19 【问题描述】:

使用 WASAPI,我可以控制系统音量。 我想知道,我可以通过编程控制特定应用程序的音量。 (当然这是windows7以后才有的)可以吗?

【问题讨论】:

【参考方案1】:

您可以控制应用程序(会话)的音量,就像标准音量混合器一样。在Session Volume Controls 中阅读此内容,其中解释得很详细:

WASAPI 客户端可以单独控制每个音频会话的音量。 [...]

为了支持这种行为,WASAPI 实现了 ISimpleAudioVolume 界面。当用户移动应用程序滑块时,应用程序 调用 ISimpleAudioVolume::SetMasterVolume 方法来调整 相应的会话音量级别。 Sndvol 监控音量变化 通过这种方法并反映音量滑块的变化 它显示。

要发现正在运行的会话,您可以使用IAudiosessionEnumerator 接口。看看这个代码 sn-p/application 实现发现:AudioSessionVolumeNotification。

【讨论】:

以上是关于处理特定应用程序的音量级别的主要内容,如果未能解决你的问题,请参考以下文章

如何获取和设置通用 Windows 应用程序的音量级别

如何获得扬声器音量级别? [复制]

远程通知音量级别与应用程序中播放的声音不同

使用 SoX 更改音频文件中某个时间范围的音量级别

如何在iOS上获得音量级别和音量更改通知?

是否可以在 Flutter 中完全处理音量增大/减小产生的事件?