我希望能够使用C#以编程方式更改Windows 7上的默认音频输出设备(以及可能还有一些基础Win32 API调用)。我已经完成了我的作业,我听到了很多来自不同来源的混合评论,所以我想再次提出这个问题来得到一个直接的答案。这实际上是否可行(通过任何方式)?如果是这样,我将如何做到这一点?
请不要建议使用“AutoIt”或其他类似程序的解决方案......这是一个特定于C#/ .NET的问题。
答案 0 :(得分:13)
以防万一将来偶然发现这个帖子...这里有一些C ++代码可以通过调用一些未记录的Win32 API来实现。这可以编译成EXE,然后从.NET应用程序静默调用,因此您可以围绕此代码构建.NET程序。
答案 1 :(得分:13)
一点点最新答案,与Windows 10兼容。
这个程序能够以漂亮的方式完成(热键在预先选择的设备之间切换)并且用C#编写: SoundSwitch on GitHub
一些逆向工程应该让你到那里(为了我的使用,这个程序是完美的)。
它使用了C ++中的那个库(同一作者): AudioEndpointLibrary on GitHub
因此,如果您了解C ++(我还不够),您可以进一步分析它的工作原理。或者像SoundSwitch那样使用库。