c# - 使用 Win MMDevice API 使特定音频输入静音

标签 c# c++ winapi

我有一个非常具体的要求,我需要将“辅助”输入静音。我已经在使用 Windows Core Audio APIs像 EndpointVolume 和 MMDevice。

场景

我需要在这里将辅助输出音量静音,以达到预期的效果。 下图是音频设备及其属性。

Figure 1

问题

  • 使用 MMDeviceEnumerator,上面描述的端点似乎不包含该屏幕截图后半部分显示的任何“输出音量级别”。

  • 使实际录音设备(辅助)静音并不会真正使听到的声音静音。

  • 这必须尽可能简单,并尽可能减少人工交互。环境将完全通过应用程序控制,因为它是一个信息亭。下面的屏幕截图表明了当我说“静音时什么都不做的辅助录音设备”时我指的是什么:

Figure 2

Levels tab's 有没有隐藏的地方?个别“投入产出水平”存在吗?我在 MMDevice 中的任何地方都找不到它,这意味着我目前无法通过代码将此设备静音。感谢阅读。

最佳答案

如果您已经(很可能)安装了 Windows SDK。你可以看看这个例子: C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\multimedia\audio\EndpointVolume

是否枚举了播放辅助输入的设备?

关于c# - 使用 Win MMDevice API 使特定音频输入静音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11886077/

相关文章:

c# - C# 中通过引用传递的值类型

c# - 需要一种方法来随机选择两个位掩码中的公共(public)位

c# - Mono 表示 'System.Net.Dns.GetHostEntry(string)' 由于其保护级别而无法访问

c++ - 定义重复的异常规范是否合法

Python 子进程无法捕获 Windows 程序的输出

c# - C# 和 Objective c 中的字符串加密

c++ - shark3.0 的 "BOOST_DIR NOT FOUND"在 win7 x64 操作系统下使用 boost1.54.0 和 cmake

c++ - 我对C++ boost::asio和std::async有疑问

c - 从编辑控件中删除键盘焦点

c - 哪里可以下载 dwmapi.lib?