我之前发过一个类似的问题,但Kamil Maciorowski是正确的&明智地指出,正如张贴的那样,它似乎并不是真正的单一问题,而是3的混合问题。所以我删除了破碎的系统和问题。我重新开始使用当前的Lubuntu。开箱即用,如果我打开蓝牙耳机,声音通过它们而不是内置扬声器播放。如果我关闭耳机,声音会自动通过扬声器播放。
我更喜欢的是除非我明确地将特定命令的输出指向它们,否则永远不会向扬声器发送任何声音。像,伪代码: aplay /path/fire-alarm.wav -o speakers
并且如果可以的话,通过耳机播放所有其他声音,&否则根本就没玩过。
如果没有这种策略的直接规定,我想知道是否有某种方法可以欺骗系统将/ dev / null视为一个始终工作的&始终可用的音频接收器,在耳机后面和内置扬声器之前排在第二位。这与“通过扬声器播放此声音”命令相结合应该这样做。
如果这些都不可能,则禁用和启用扬声器而不影响耳机功能的命令&如果拜占庭式Linux声音架构中的某些东西不会自发地决定“哦,你的扬声器已经关闭,我会为你解决这个问题。”如果没有重新登录就可以达到目的。
这与简单地说蓝牙耳机应该是默认值不同。这就是现在的样子。如果我看“Debbie Does Dubai”&耳机超出范围,或者没有果汁,或者我只是试着调整他们的物理位置而摸索他们,我不希望声音自动转移到扬声器开始出来。
我所追求的是一个不向扬声器发送任何内容的策略,除非我明确告诉它在那里发送特定流,然后仅发送它,或者失败,这是一种可编写脚本的方法来禁用和启用扬声器而无需重新记录。
pactl set-sink-mute 0 1
&安培;pactl set-sink-mute 0 0
。我会在启动脚本中将它们静音。在我希望通过spkrs播放的脚本中,我将取消静音,使用您的命令并重新调用。不完全是我想要的,但足够接近。在我的实际使用案例中,差异很少。谢谢。