【问题标题】:Where are Windows 10 audio input device settings stored?Windows 10 音频输入设备设置存储在哪里?
【发布时间】:2016-04-22 18:12:33
【问题描述】:
我正在开发一个应用程序,该应用程序需要以编程方式禁用麦克风的独占模式,以便它始终可以录音。显然该设置没有存储在注册表中,因为我在更改设置之前和之后导出了注册表,并且文件是相同的。有谁知道该设置存储在哪里?
具体来说,我说的是这样找到的设置:
- 右键单击任务通知区域中的扬声器图标
- 点击录音设备
- 点击感兴趣的设备
- 点击属性
- 点击高级
- 取消选中允许应用程序进行独占控制...
- 点击应用
- 点击确定
【问题讨论】:
标签:
windows
audio
windows-10
【解决方案1】:
免责声明:这是来自 Windows 7,而不是 10。但我想这些设置没有改变。
在本地计算机配置单元中,您需要转到以下子项:Software\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Capture
这将为您提供作为 GUID 的子键列表,机器上的每个捕获设备都有一个。这些子项中的每一个都有一个属性子项。这显示了每个麦克风的各种设置。允许独占音频模式键是{b3f8fa53-0004-438e-9003-51a46e139bfc},3。它需要设置为0。
您将遇到的问题是这些 Capture 设备归注册表中的SYSTEM 用户所有,因此很难修改为用户运行的可执行文件/脚本。
执行此操作的正确方法是使用 MMDevice API (https://msdn.microsoft.com/en-us/library/windows/desktop/dd316556(v=vs.85).aspx)。您可以向 API 询问特定类型的所有音频设备,然后遍历它们并找到您想要的。然后,您可以获取该设备的属性并使用 SetValue 方法简单地更改值。这会自动更新注册表。