Отключить функцию обнаружения наушников в pulseaudio


19

У меня на ноутбуке есть изящный порт для наушников, который не может надежно определять, когда подключены наушники / внешние динамики. Это означает, что выход постоянно отключен / включен, что довольно раздражает

Как я могу настроить pulseaudio для отключения обнаружения гнезда (или, в качестве альтернативы, просто принудительно вывести сигнал через это гнездо)?

Я предполагаю, что это будет связано с редактированием аналогового выхода-наушников.conf, однако я не могу понять, как это сделать (аналоговый выход.conf.common не поможет).


2
Вы рассматривали / пытались удалить pulseaudio и просто использовать ALSA?
Златовласка

Да, но мне нравится дополнительный контроль, который дает pulseaudio. Кроме того, я уверен, что есть простое решение - я просто не могу понять, что это такое.
Росс

Использование ALSA сделает решение простым. Так что выбрал бы использовать другой домкрат. Избегая обоих этих вариантов, я бы решил починить отслаивающийся домкрат (требуется паяльник и некоторый опыт) :)
Старейшина Гик

Ответы:


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
Спасибо, но я не хочу отключать наушники, а скорее принудительно выводить через них - даже когда они не обнаруживают подключенный кабель.
Ross

Что касается отключения: load-module module-switch-on-port-available - я пробовал это, но, похоже, не имеет значения.
Росс

1
aletrantively попробовать ~ / .config / импульс / default.pa
gdamjan

Я пытался заставить звук звучать через динамики, когда я подключал микрофон (это микрофон гарнитуры, но я хочу, чтобы микрофон улавливал звуки динамика для записи). Когда я попытался отсоединить переключатель, я смог заставить его (с помощью команды «pacmd set-sink-port») выводить только на динамик (в наушниках нет звука), но звук все равно будет выходить из динамика только когда ничего подключен к разъему Arrrggghhhh ....
Энтони

5

Я не знаю, как (или если) это можно сделать напрямую через сам PulseAudio, но я знаю, что это можно сделать с помощью элемента управления ALSA с именем «Auto-Mute Mode», отключив этот элемент управления (например, с помощью «alsamixer») должен предотвращать автоматическое отключение звука при подключении к переднему разъему.

Изменение этого способа будет работать, даже если ваша система запускает PulseAudio, если она использует ALSA в качестве бэкэнда (но я думаю, что это имеет место в большинстве дистрибутивов Linux по умолчанию).

Если вы используете «alsamixer» для изменения этого параметра, вам сначала нужно будет выбрать правильное аппаратное устройство (нажмите F6), поскольку устройством по умолчанию, скорее всего, будет виртуальное устройство PulseAudio, которое не имеет «Режим автоматического отключения звука» контроль.

Чтобы сделать этот параметр постоянным, запустите от имени пользователя root:

# alsactl store

Спасибо за то, что вставили подробности о смене устройства через F6. Я потратил полчаса в alsa и других файлах config / control, пытаясь найти что-то, связанное с «AutoMute», пока не прочитал ваш комментарий, я не думал менять устройство.
Даниил

1

если предположить, что хотя бы одно из ваших гнезд все еще работает без ошибок, я предлагаю вам обратиться к этому вопросу на askubuntu - вместо того, чтобы зависеть от неисправного аудиоразъема, я предлагаю вам использовать микрофон в порту для наушников.


Я думаю, я не объяснил все это так ясно. Выход из гнезда в порядке. По какой-либо причине возникает проблема с определением, подключен кабель или нет. Это приводит к тому, что pulseaudio случайным образом заглушает поток, поскольку он думает, что заглушка была удалена (а когда нет).
Росс

1

Беги pavucontrol. В меню «Конфигурация» выберите опцию «Выкл.» Для встроенной звуковой карты.


1

На всякий случай, если это кому-то пригодится, я опишу, как я решил свою проблему с передними домкратами в Ubuntu 14.04.

В моем случае передний микрофон не работал должным образом, я попытался включить его alsamixerи еще тысячу возможных решений, но в конце концов он решил установить alsa-toolsи использовать его, hdajackretaskчтобы настроить передний микрофон как «внутренний микрофон», а затем alsamixerпросто включить включил внутренний микрофон и внутренние каналы усиления микрофона и скорректировал их значения (53 на моем случае)


1

У меня была проблема, что обнаружение наушников отключило динамик, который, очевидно, подключен к моему разъему для наушников в ноутбуке. HDA-intel на Fujitsu Siemens Amilo 1520 здесь.

Что должно дать вам подсказку, так это открыть alsamixer на вашей звуковой карте и увидеть влияние регуляторов громкости на динамик и наушники (при подключении наушников, отключении звука динамика и включении наушников и наоборот).

затем с помощью hdajackretask я выбрал: зеленые наушники (задняя сторона) - выберите переопределение - и установите «внутренний динамик»

затем вы можете проверить, подключив и отключив наушники, если они подходят для вашей конфигурации (документация скудная).

В моем случае это сработало, и я нажал кнопку «Установить загрузку». Перезагрузите систему и получите рабочий звук ...

(Я действительно хотел бы знать, что это настроило под капотом, узнаю это позже).


1

Моя проблема заключается в постоянном переключении jacksense на «наушники» (даже когда разъем на передней панели не подключен) и неисправной материнской плате MSI, от которой мне отказали в RMA. Даже когда в конфиге отключено чувство jack, закомментируйте его в default.pa. Ужасная работа заключалась в использовании передней панели и постоянном потрескивании. Я пробовал все обходные пути, перечисленные здесь и везде в Google.

Я попробовал hdajackretask, который не работал на Debian Stretch, однако все, что ему было нужно - создать / 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 переопределяют его или мешают, поэтому попробуйте отключить их, если он не работает.

Мой файл прошивки выглядит следующим образом, я не уверен, что смог бы просто использовать [подсказку] строфу, так как я просто счастлив обнулить эту штуку:

/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

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

Теперь ваши штекеры будут активны после загрузки.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.