在pulseaudio中禁用耳机插孔检测

Ros*_*oss 25 pulseaudio

我的笔记本电脑上有一个不可靠的耳机端口,当插入耳机/外部扬声器时无法可靠地检测到。这意味着输出不断被静音/取消静音,这很烦人

如何配置pulseaudio来禁用插孔检测(或者只是通过这个插孔强制输出)?

我认为这将涉及编辑模拟输出耳机.conf 但是我不知道如何这样做(analog-output.conf.common 没有帮助)。

foo*_*oot 8

您可以尝试悬挂耳机插孔。要查找耳机插孔的索引:

pactl list short sinks
Run Code Online (Sandbox Code Playgroud)

然后暂停该接收器:

pactl suspend-sink [SINK] 1|0
Run Code Online (Sandbox Code Playgroud)

其中“SINK”是第一个命令的索引,“1”将挂起,“0”将取消挂起。

编辑:对不起,误解了情况。找到了一个有禁用自动切换方法的Arch 线程。编辑/etc/pulse/default.pa(gdamjan 建议使用替代~/.config/pulse/default.pa)以删除以下行:

load-module module-switch-on-port-available
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,但我不想禁用耳机,而是通过它们强制输出 - 即使它们没有检测到插入的电缆。 (2认同)

hns*_*nsr 6

我不知道如何(或是否)可以通过 PulseAudio 本身直接完成此操作,但我知道这可以通过名为“自动静音模式”的 ALSA 控件完成,取消切换此控件(例如,使用“alsamixer”)当某些东西插入前插孔时,应该可以防止您的输出自动静音。

即使您的系统运行 PulseAudio,只要它使用 ALSA 作为后端(但我认为大多数 Linux 发行版默认情况下都是这种情况),即使您的系统运行 PulseAudio 也可以通过这种方式更改它。

如果您使用 'alsamixer' 更改此设置,则必须首先选择正确的硬件设备(按 F6),因为默认设备可能是 PulseAudio 虚拟设备,它没有“自动静音模式”控制。

要使此设置永久化,请以 root 身份运行:

# alsactl store
Run Code Online (Sandbox Code Playgroud)