Windows 10音频输入设备设置存储在哪里?

时间:2016-04-22 18:12:34

标签: windows audio windows-10

我正在开发一个应用程序,需要以编程方式禁用麦克风的独占模式,以便它始终可以记录。显然,该设置未存储在注册表中,因为我在更改设置之前和之后导出了注册表,并且文件是相同的。有谁知道该设置存储在哪里?

具体来说,我说的是找到的设置:

  • 右键单击任务通知区域中的扬声器图标
  • 点击录制设备
  • 点击感兴趣的设备
  • 点击属性
  • 点击高级
  • 取消选中允许应用程序进行独占控制...
  • 点击“应用”
  • 点击确定

1 个答案:

答案 0 :(得分:2)

免责声明:这是来自Windows 7,而不是10.但我想这些设置没有改变。

在Local Machine配置单元中,您需要转到此子项:Software\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Capture

这将为您提供GUID的子项列表,一个用于计算机上的每个捕获设备。每个子项都有一个Properties子项。这暴露了每个麦克风的各种设置。允许专用音频模式键为{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方法更改该值。这会自动更新注册表。