以编程方式更改播放设备xp

我怎样才能改变当前正在使用的声卡(XP),而不必进入控制面板>声音设备>select播放设备。

任何语言就足够了,或batch file,只是我必须改变设备每天播放50次左右,每次都要加载控制面板。

谁知道如何?

Solutions Collecting From Web of "以编程方式更改播放设备xp"

要在Windows XP中设置默认声音播放设备,您可以更改以下注册表项的值:

HKEY_CURRENT_USER\Software\Microsoft\Multimedia\Sound Mapper\Playback 

考虑到您希望能够从安装中选择的所有设备的现有配置,可能最简单的事情是在“声音和音频设备属性”控制面板中一次一个地选择每个声音回放设备,并导出此注册表项的设置为一个文件。 所以,如果您有3个声音播放设备,您可以选择它们之间,那么您最终会得到3个独立的.REG文件,每个文件对应一个播放设备。 否则,您将不得不以编程方式生成注册表项文件。

生成这些.REG文件后,只需在资源管理器中双击其中一个文件,即可将它们包含的信息插入到注册表中适当的位置,从而选择相应的播放设备。 您可以通过编程轻松地执行这些注册表脚本。 在C#中,可以使用类似于System.Diagnostics.Process.Start东西,并传递想要生效的.REG文件的位置。 或者,您可以编写一个简单的批处理文件,无需确认即可静默导入注册条目文件:

 @echo off %windir%\regedit.exe /s ExternalSpeakers.reg 

毫无疑问,在应用此解决方案并手动编辑您的注册表时,您应对由于Windows安装造成的任何破坏承担全部责任。

(据我所知,Windows XP解决方案是提问者正在寻找的东西,但是对于任何未来的Google员工,请注意,这不适用于Windows Vista或更高版本,它使用Core Audio API来管理这些设置。一个办法。)