如何以编程方式更改默认的audioinput设备

我正在寻找一种方法来设置/更改我的应用程序内的默认input设备。 我有几个不同的录音设备,进入控制面板并更改默认录音设备非常烦人。 我环顾四周,我没有find任何可以帮助我解决问题的方法。 应用程序是用C#编写的,它是针对Windows Vista / Windows 7的。

在Vista / 7 AFAIK中没有公开的API。

对于我创建的媒体中心启动项目,我必须打开控制面板,然后将密钥发送到对话框,这是一个非常丑陋的黑客攻击,但是这是最好的选择。 (或在媒体中心运行.net反射器(可以使用无证电话进行更改))

如果你有Windows XP, 显然 ,你可以通过编辑注册表来做到这一点。 关键HKEY_CURRENT_USER\Software\Microsoft\Multimedia\Sound Mapper\Playback包含当前默认播放设备的名称。