禁用PulseAudio中的耳机插孔检测


19

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

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

我假设它将涉及编辑Analog-output-headphones.conf,但是我不知道该怎么做(analog-output.conf.common没有帮助)。


2
您是否考虑过/尝试删除Pulseaudio并仅使用ALSA?
goldilocks 2014年

是的,但是我有点喜欢pulseaudio提供的额外控制。另外,我确定有一个简单的解决方案-我只是无法弄清楚它是什么。
罗斯

使用ALSA将使解决方案变得简单。因此,将选择使用其他插孔。避免这两种选择,我会选择修理片状插孔(需要烙铁和一些经验):)
Elder Geek 2015年

Answers:


7

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

pactl list short sinks

然后挂起该接收器:

pactl suspend-sink [SINK] 1|0

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

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

load-module module-switch-on-port-available

1
谢谢,但我不想禁用耳机,通过他们,而输出力-即使他们没有检测到线缆插入。
罗斯

关于禁用:负载模块模块交换机在端口上可用-我已经尝试过了,但是似乎没有什么区别。
罗斯

1
随意尝试〜/ .config / pulse / default.pa
gdamjan 2015年

我尝试这样做是为了在插入麦克风时使声音从扬声器传出(这是头戴式麦克风-但我希望麦克风拾取扬声器声音进行录音)。当我尝试卸下开关时,我可以使它(使用“ pacmd set-sink-port”命令)仅输出到扬声器(耳机没有声音),但是当什么都没有时声音仍然会从扬声器中发出插入插孔。Arrrggghhhh ....
安东尼

5

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

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

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

要永久保留此设置,请以root用户身份运行:

# alsactl store

感谢您提供有关通过F6更换设备的详细信息。我花了半小时在alsa和其他配置/控制文件中,试图找到与“ AutoMute”相关的内容,直到阅读您的评论为止,我没有想到要更改设备。
丹尼尔(Daniel)

1

假设您的至少一个插孔仍然可以正常工作,我建议您在Askubuntu上参考此问题-而不是依靠有故障的音频插孔,我建议您使用耳机的麦克风输入端口。


我想我并没有那么清楚地解释这一切。插孔的输出很好。无论出于何种原因,检测电缆是否插入都存在问题。这会导致Pulseaudio随机静音流,因为它认为插头已被移除(如果尚未移除)。
罗斯

1

运行pavucontrol。在“配置”菜单下,为内置音频卡选择“关闭”选项。


1

万一这对某人有用,我将描述我如何在Ubuntu 14.04上解决前端插孔问题

我的情况是前置麦克风无法正常工作,我尝试取消静音alsamixer并提供了千种可能的解决方案,但最终解决的方法是安装alsa-tools并使用hdajackretask将前置麦克风设置为“内部麦克风”,然后alsamixer我就取消内部麦克风和内部麦克风增强通道的静音并调整其值(在我的情况下均为53)


1

我有一个问题,即耳机检测禁用了扬声器,该扬声器显然已钩在笔记本电脑的耳机插孔中。富士通西门子Amilo 1520上的HDA-intel。

应该给您一个提示的方法是,在声卡上打开alsamixer,并查看扬声器和耳机的音量控制是否受到影响(插入耳机,扬声器静音和耳机取消静音,反之亦然)。

然后使用我选择的hdajackretask:绿色耳机(后侧)-选择替代-并设置为“内部扬声器”

然后,您可以通过实际插入和拔出耳机来检查它是否适合您的配置(文档很少)。

就我而言,这可行,然后单击“安装启动替代”按钮。重新启动系统并具有正常运行的声音...

(我真的很想知道它的内部设置是什么,稍后会发现。)


1

我的问题是前端口不断切换到“耳机”(即使未连接前面板接头)时出现粗暴的感觉,并且MSI主板出现故障,他们拒绝了我使用RMA。即使通过在default.pa中将其注释掉而在配置中禁用了插孔感。一个可怕的解决方法是使用前面板并不断发出裂纹。我尝试了此处以及Google各处列出的所有解决方法。

我尝试了无法在Debian Stretch上使用的hdajackretask,但是所需要做的只是创建/ lib / firmware。完成启动覆盖安装脚本后,它会在/ tmp下创建正确地将.fw文件复制到此处。

/etc/modprobe.d/hda-jack-retask.conf包含:

# This file was added by the program 'hda-jack-retask'.
# If you want to revert the changes made by this program, you can simply erase this file and reboot your computer.
options snd-hda-intel patch=hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw,hda-jack-retask.fw

(需要/ lib / firmware下的文件,)

我不确定snd-hda-intel的其他选项是否会覆盖或干扰它,因此请尝试在失败时禁用这些选项。

我的固件文件看起来像这样,不确定我是否可以使用[hint]节,因为我很乐意为这件事打核:

/lib/firmware/hda-jack-retask.fw

[codec]
0x10ec0892 0x1458a002 2

[pincfg]
0x11 0x99430130
0x12 0x4037c540
0x14 0x01014010
0x15 0x01011012
0x16 0x01016011
0x17 0x411111f0
0x18 0x01a19050
0x19 0x02a19060
0x1a 0x0181305f
0x1b 0x43f1413f
0x1c 0x411111f0
0x1d 0x4045e601
0x1e 0x01452140
0x1f 0x411111f0

[hints]
jack_detect=no

我无法对这些答案进行评论或评论,如果您阅读了此书,并且尝试了所有列出的其他解决方案,请尝试将插孔重新分配为“未连接”。在我的hdajackretask上,它被称为“绿色耳机前端”


我有一个前面板音频端口,该端口没有插孔检测针脚,因此始终显示为未插入。最终解决了这个问题,这是最好的答案。一个人无法应用设置,因为Pulseaudio可能正在使用该卡,并且停止PA非常困难。如果启用高级优先,则可以按端口关闭插孔检测。另外,将PA中非检测端口的端口优先级设置为低于检测端口的端口优先级,否则将永远不会使用您的插孔检测线路输出,因为损坏的耳机似乎始终处于连接状态。
TrentP '18年

0

这是对我有用的简单,手动覆盖的替代方法(Mint Debian Edition和Cinnamon):

  1. 打开声音设置(您可以从音量控制小部件或系统设置中找到)
  2. 在默认的“输出”选项卡下的“设备”下,单击“模拟输出内置音频”

而已。你完成了。

我花了一天半的时间。是的,您需要手动设置每次要使用的设备,但对于我来说,这需要两秒钟,这比另一天的搜索要好得多,看来充其量只能将输出设置为一个或另一个,并且仅在重启后才能更改。对于片状检测的根本问题,我还没有看到任何解决方法。

重要的是,测试声音始终适用于大容量电话或外接扬声器,因此在我的情况下,这是片状检测的问题。大概不是普遍情况。我在其他地方更详细地描述了我的情况下症状


0

编辑 /etc/pulse/default.pa

评论如下:

#load-module module-switch-on-port-available
#load-module module-suspend-on-idle

并取消注释最后两行:

set-default-sink output
set-default-source input

现在,您的插孔插头将在启动后处于活动状态。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.