链接到“反馈中心”上的bug report
音频端点设备(在这里称为“端点”)是物理或虚拟音频输出或输入设备。
在Windows 10 April Update 1803中,已引入了过期已久的“应用程序数量和设备首选项”。这些设置允许对音频流管理进行更多控制,因为现在可以为不同的应用程序设置不同的端点,而不管该特定应用程序是否带有端点选择。
但是,存在一个问题,尽管端点显示正确,但端点是非默认的程序的音频在关闭并再次启动后仍通过默认端点(或根本没有)流过在设置中:
据我所知,可以在具有任何虚拟或物理终结点以及受影响的程序的Windows 10计算机(版本1803或更高版本)上重新创建该问题。在本示例中,我使用了“ VLC Media Player”(忽略了端点选择附带的事实),因为它众所周知且可广泛访问,这将使重新创建问题更加容易。
我要搜索的内容...
...是一种在端点之间切换的编程解决方案,理想情况下,可以以脚本形式启动该脚本,以通过应用程序启动来设置正确的端点。
出于我的目的,只需手动调整设备实例路径就足够了,因为设备总是一样的,但是我不会抱怨从注册表中检索设备实例路径的解决方案,
HKEY_USERS\# YOUR SID #\Software\Microsoft\Multimedia\Audio\DefaultEndpoint
的子键中检索定义的端点及其使用的设备的设备实例路径。我不知道Windows如何生成子项的名称或在哪里可以找到它们。如果我不得不大胆猜测,我会说这些是应用程序ID(如果我输入错了,请随时纠正我)。一种可能但不切实际的解决方法...
...将是手动为该应用程序设置另一个端点,并在每次启动该应用程序时切换回所需的端点(如上所示)。
但不仅仅是每次启动至少花费10秒钟的时间,您甚至可能会忘记这样做,因为音频可能只是通过默认端点*¹
进行流传输。
后者的替代方法是,*²
完全不流音频,或者在某些情况下*³
实际上不流。
*¹
,例如:VLC媒体播放器,汤姆·克兰西的《彩虹六号:围攻行动》(尽管在启动屏幕期间可以正确流式传输音频)
*²
,例如:《使命召唤4:现代战争》,《使命召唤:现代战争2》,《使命召唤:现代战争3》
*³
,例如:Window Media Player,Microsoft Edge,Firefox
观察
免责声明
我已经尝试了两种第三方软件:“音频路由器”和“ CheVolume”,它们根本无法工作,而“ CheVolume”不能解决问题,并且在运行时经常崩溃。
这个问题是基于我在超级用户(here)上问的一个问题,由于我对实际编程缺乏了解,我没有得到可以使用的答案(仅对Batch和PowerShell有所了解)。我很清楚,堆栈溢出和超级用户都不是脚本编写服务,但是,Windows 10 October Update 1809并没有解决此问题,我认为这是一个问题,不仅影响我自己,而且将影响到我。对我之后的多个人有帮助。如果您有不同的看法,请随时发表评论或提出修改。
我也不确定在这种情况下是否应使用标签“音频流”和“端点”,如果不合适,请提出修改建议,否则您会想到更好的方法。
使用第三方软件“ EarTrumpet”,我可以克服“使命召唤”游戏的问题(重新启动后完全没有音频),但是,当我分配了“非使命召唤”游戏后,“ VLC Media Player”将无法重新启动默认端点为“ EarTrumpet”,直到我再次关闭“ EarTrumpet”,并且“汤姆·克兰西的彩虹六号围攻”问题仍然相同。
添加了指向我两个月前在“反馈中心”上创建的bug report的链接。
再次进行一些测试后,应注意,在后台运行“ EarTrumpet”将在重新启动后保留“ VLC Media Player”的非默认端点,但是,“ VLC Media Player”仅(可靠地)重新启动在“应用音量和设备偏好设置”中设置了非默认终结点时。
答案 0 :(得分:2)
对于处理此类事件的编程语言,我没有任何解决方案。
但是我可以建议EarTrumpet应用程序更快地处理此更改https://www.theverge.com/2018/6/13/17457778/eartrumpet-windows-10-audio-app
如果我找到一种简单的方法来编写脚本/编写每个应用程序的输出更改,我将更新答案。