在Windows 7上更改默认音频设备

时间:2011-05-30 17:50:57

标签: c# windows-7 audio

我希望能够使用C#以编程方式更改Windows 7上的默认音频输出设备(以及可能还有一些基础Win32 API调用)。我已经完成了我的作业,我听到了很多来自不同来源的混合评论,所以我想再次提出这个问题来得到一个直接的答案。这实际上是否可行(通过任何方式)?如果是这样,我将如何做到这一点?

请不要建议使用“AutoIt”或其他类似程序的解决方案......这是一个特定于C#/ .NET的问题。

2 个答案:

答案 0 :(得分:13)

以防万一将来偶然发现这个帖子...这里有一些C ++代码可以通过调用一些未记录的Win32 API来实现。这可以编译成EXE,然后从.NET应用程序静默调用,因此您可以围绕此代码构建.NET程序。

http://www.daveamenta.com/2011-05/programmatically-or-command-line-change-the-default-sound-playback-device-in-windows-7/

答案 1 :(得分:13)

一点点最新答案,与Windows 10兼容

这个程序能够以漂亮的方式完成(热键在预先选择的设备之间切换)并且用C#编写: SoundSwitch on GitHub

一些逆向工程应该让你到那里(为了我的使用,这个程序是完美的)。

它使用了C ++中的那个库(同一作者): AudioEndpointLibrary on GitHub

因此,如果您了解C ++(我还不够),您可以进一步分析它的工作原理。或者像SoundSwitch那样使用库。