我希望能够使用C#(以及可能一些底层的Win32 API调用)通过编程方式更改Windows 7上的默认音频输出设备。我已经完成了我的功课,并从不同的来源听到了很多混杂的评论,因此我想再次提出这个问题,以获得一个直截了当的答案。是否有任何方式可以实现这一点?如果是,该如何操作?
请不要建议使用"AutoIt"或其他类似程序的解决方案...这是一个特定于C#/.NET的问题。
我希望能够使用C#(以及可能一些底层的Win32 API调用)通过编程方式更改Windows 7上的默认音频输出设备。我已经完成了我的功课,并从不同的来源听到了很多混杂的评论,因此我想再次提出这个问题,以获得一个直截了当的答案。是否有任何方式可以实现这一点?如果是,该如何操作?
请不要建议使用"AutoIt"或其他类似程序的解决方案...这是一个特定于C#/.NET的问题。
一个更新至今的答案,兼容Windows 10。
这个程序能够以美观的方式完成它(通过热键在预选设备之间切换),并且是用 C# 编写的: SoundSwitch on GitHub
一些逆向工程应该可以帮你实现它(对我来说,这个程序已经完美了)。
它使用了同样作者编写的 C++ 库: AudioEndpointLibrary on GitHub
所以如果你懂 C++(我不太懂),你可以进一步分析它的工作原理。或者像 SoundSwitch 一样使用这个库。
以防在未来有人偶然发现这个帖子……以下是一些调用一些未记录的Win32 API 的C++代码。可以将其编译成一个EXE文件,然后从.NET应用程序中静默调用,因此您可以围绕此代码构建一个.NET程序。