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

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

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

以防万一将来偶然发现这个post…这里有一些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/

一个与Windows 10兼容的最新答案。

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

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

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

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