Linux耳机音响独立输出

2023-05-03,,

记得之前在用Ubuntu系统的时候,耳机音响(线缆输出和模拟耳机输出)只能单独插一个,如果两个设备同时插入主机,将会导致只能耳机输出,即使选择后置音响(线缆输出)也不会有声音。在Windows下,即使同时插入了耳机和音响,可以单独设置设置哪个设备为默认设备,而且两者互不干涉。

如何在linux系统下实现耳机音响独立输出,并且互不干涉? 又或者是ubuntu | deepin插上耳机以后,外部扬声器还有声音的解决方案:

终端输入:

alsamixer

按F6选择你的声卡,选定你的声卡后,在下方有一排可选的值,按方向键→找到Auto-mute mode值,把这个值设置设置为设为Disabled

注意:如果Auto-mute mode的值已经是Disable状态,下方这个步骤可以省略。

PS:此动态图采自deepin官方论坛的pony_sunset坛友。

把这Auto-mute mode值设置设置为设为Disabled之后,按下ESC按键,输入下方的代码保存后退出。

sudo alsactl store

接下来重启电脑后,耳机音响应该都可以正常出声音了。

注意:如果Auto-mute mode的值已经是Disable状态,上方这个步骤可以省略。

但是这样操作,虽然线缆输出和模拟耳机都可以正常出声音了,但是选择模拟耳机输出的时候,如果音响不关的话,耳机会和喇叭同时出声,下方是解决方案:
终端输入:

sudo gedit /usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf

在这个文件找到下方的这个值:

[Element Front]
switch = mute
volume = zero

把这个值改成:

[Element Front]
switch = off
volume = off

修改完毕,重启电脑选择耳机输出的时候,即使外置喇叭功放电源开启着,也只有耳机可以出声了。

改好之后需要值得注意的是,改了之后不能去打开alsamixer,不然的话上方更改的数值会自动还原,需要重新更改一次。如果发现设置无效,就再次返回第二步的步骤。

额外说一下,我去查了
switch = mute
volume = zero
这两个语句末尾的值,它分别是mute(哑的; 无声的; 沉默的; 不出声的)、zero(零)。
我个人猜测这个值在Auto-mute mode为Enabled的情况下起作用。如果为Disabled的时候它失效。
相反,如果把Auto-mute mode改为Disabled的时候mute、和zero不起作用,要用off让它起作用。

这个方法是本人自己摸索出来的,网上找了很多教程,都没找到相关的。后来还是自己找到办法了。

Linux耳机音响独立输出的相关教程结束。

《Linux耳机音响独立输出.doc》

下载本文的Word格式文档,以方便收藏与打印。