[英]Reading the value of the volume in the windows mixer
我正在创建一个程序供我和我的朋友使用。 我想制作一个可以控制Windows Audio Mixer的程序。 我正在使用C#
我已经有了如何控制音量的想法。 但是我想要一些技巧来控制混音器中每个应用程序的单独音量。
主要问题是(有点有趣):如何读取每个应用程序的单独仪表内的体积值? 换句话说,我想读取/获取应用程序的音量条/米内的绿色和灰色条的值。 我附带了一张图片,显示了我的意思。Windows音频混音器
音频混合器(Sndvol)中的每个项目都是一个音频会话。 这是 MSDN上有关会议如何在后台工作的精彩读物。
这样一来,您就需要订阅音频会话事件,才能收到以下事件的通知:
- 会话子混音的主音量级别或静音状态已更改。
- 会话子混音的一个或多个通道的音量已更改。
- 会话已断开连接。
- 会话的活动状态已更改为活动,不活动或已过期。
- 会话已被分配了新的分组参数。
- 会话的用户界面属性(图标或显示名称)已更改。
从这里直接复制。
核心音频API是Windows SDK的一部分,因此您需要使用P / Invoke来实际调用该代码。 我认为Core Audio API有一些.NET包装器,通过简单的搜索就可以轻松找到它们。
编辑:这是您尝试做的一个好的开始。 它包含用于管理会话声音的代码。 我没有对其进行全面的介绍,因此不确定它是否实现了会话事件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.