【问题标题】:Change default audio device on Windows 7更改 Windows 7 上的默认音频设备
【发布时间】:2011-09-04 23:30:16
【问题描述】:

我希望能够使用 C# 以编程方式更改 Windows 7 上的默认音频输出设备(可能还有一些底层 Win32 API 调用)。我已经做了功课,也听过很多来自不同来源的混合cmets,所以我想再次问这个问题以获得一个直接的答案。这真的可能吗(通过 any 手段)?如果是这样,我该怎么做?

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

【问题讨论】:

  • 很有可能您会从另一个来源获得更多混合 cmets。这是一个:只有用户选择她想收听的音频设备。
  • +1 我正在考虑自己编程。我真的很讨厌在耳机和 HDMI 输出之间切换。

标签: c# windows-7 audio


【解决方案1】:

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

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

一些逆向工程应该能让你到达那里(对于我来说,这个程序非常完美)。

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

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

【讨论】:

  • 关于 SoundSwitch 的说明:有时它不可靠,因为它将音频设备设置为通信设备而不是音频输出,有时设备会从系统托盘菜单中忘记。但这是一个开始。
【解决方案2】:

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

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

【讨论】:

  • 它适用于 Win 8.1,但不幸的是它不再适用于 Windows 10,有什么解决方案吗?
  • 您可以查看我的答案以了解适用于 W10 的内容!
  • 此链接已失效
猜你喜欢
  • 2021-07-27
  • 2019-09-26
  • 1970-01-01
  • 1970-01-01
  • 2010-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多