我正在开发一个应用程序,需要以编程方式禁用麦克风的独占模式,以便它始终可以记录。显然,该设置未存储在注册表中,因为我在更改设置之前和之后导出了注册表,并且文件是相同的。有谁知道该设置存储在哪里?
具体来说,我说的是找到的设置:
答案 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方法更改该值。这会自动更新注册表。