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

qJa*_*ake 19 c# audio windows-7

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

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

qJa*_*ake 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/

  • 该链接已死 (2认同)

Mic*_* V. 13

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

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

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

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

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