Windows 7有一些我无法通过C#应用程序控制的新音频设置。具体来说,在输入(麦克风)属性中,有一个包含Microphone和Microphone Boost滑块的Levels选项卡,以及一个Microphone静音切换/复选框。
我需要以编程方式确保麦克风没有静音 - 但是没有找到必要的API来读取或设置值。
答案 0 :(得分:1)
我无法找到能够控制这些特定音量级别的API。如果可用,请添加新的答案,我很乐意接受一个有效的解决方案。
答案 1 :(得分:0)
您可以使用来自http://www.codeproject.com/KB/audio-video/AudioLib.aspx?msg=1323850
的Caster Tiu围绕Windows混音器构建的非常有用的库根据此页面上的文档:
可以使用ValueAsSigned,ValueAsUnsigned和ValueAsBoolean属性通过MixerControl对象访问Fadder,Microphone Boost,bass,treble等特定控件,但它们不是作为标准属性实现的,因为它们不属于所有控件。
答案 2 :(得分:0)
有一个WalkTreeBackwardsFromPart示例,演示如何枚举音频端点并打印出当前音量,您可以将代码修改为unmute the analog mixer via IDeviceTopology
Windows应该在捕获会话开始时取消静音软件卷,您的设备是否有硬件卷?
答案 3 :(得分:0)
IAudioEndpointVolume接口可能适合您。它具有获取/设置录制或播放设备的静音状态和音量级别的功能。
参考:http://msdn.microsoft.com/en-us/library/windows/desktop/dd370892(v=vs.85).aspx