C# 动态设置应用程序的声音输出



不久前,我正在开发一个应用程序,该应用程序根据程序所在的屏幕来控制程序的声音输出。例如,我的电视上有一个浏览器,我想将程序的声音输出设置为电视的扬声器。我已经完成了检测部分(在哪个屏幕上找到程序(,我准备在这里实施您给我的任何解决方案。我的程序通过始终关注焦点的应用程序来工作,因此如果它更改屏幕,它应该更改声音输出

正如我上面告诉您的,我已经完成了屏幕检测,但是当涉及到仅更改该集中的应用程序的声音输出时,到目前为止我没有运气。我该如何实现此目的?可能吗?我已经搜索了这个主题,并找到了应该像 NAudio 一样执行此操作的库,但它们似乎都不适合我,这就是我停止开发这个程序的原因,直到现在:)

不幸的是,你搞砸了。Windows 有意不提供用于更改默认音频输出设备的 API。很久以前就确定这样的API将允许开发人员编写对用户高度侵入和烦人的程序。

多年来,人们发现了Windows的一些未记录的功能,这些功能可以实现这一点。我让它在我的旧Windows 7盒子上工作得非常一致。但是,我编写的程序不再适用于Windows 10,而且我始终无法找到任何其他机制来执行此操作。

这是另一个问题,有一些很好的参考:以编程方式在Windows 7上切换音频设备

最新更新