我有一些关于 Directsound 和 Windows 混音器的问题。 我的目标是枚举所有麦克风并能够更改每个麦克风的输入音量。 我想我离解决方案不远了,但我没有发现我的代码有什么问题。 这是我所做的: - 我枚举所有输入设备并为每个设备获取一个 GUID - 我使用在主题上找到的方法使用此方法获取与 directsound guid 对应的混音器 ID(但我不确定它是否有效) - 然后我得到了混音器中控件对应的id - 然后我可以修改音量
这是代码:a vs2008 project
为了测试,我连接了两个麦克风 usb + 线路输入麦克风,我目视检查哪些 slider 在移动。但不幸的是,这不是好的... 这是我在 Windows XP 中打开的所有混音器的屏幕截图 (img177.imageshack.us/img177/5189/mixers.jpg)。
你知道我做错了什么吗?有最简单的解决方案吗?
附加问题:您知道是否有办法使用 Directsound 知道麦克风是否已连接到线路输入中?因为即使没有连接麦克风,线路输入也始终被检测为已连接。
最佳答案
检查这个问题:
How to adjust microphone gain from C# (needs to work on XP & W7)
或
http://social.msdn.microsoft.com/Forums/en/isvvba/thread/05dc2d35-1d45-4837-8e16-562ee919da85
关于c++ - DirectSound:如何改变麦克风的输入音量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1675217/