Плохая старая проблема с шумом в наушниках на Ubuntu 16.04 LTS

Я недавно перешел на Ubuntu из Windows. Это был отличный опыт. Но одна вещь раздражала меня больше всего, это проблема шума наушников. Это очень распространенная проблема, и я почти прошел через каждый вопрос, заданный по этому вопросу на форуме. Я использую Ubuntu 16.04.1 на своем ноутбуке с сенсорным экраном DELL INSPIRON 15 3542.

Я пытался:

  • alsamixer и отключение Loopback Mixing
  • Добавление 0 в /sys/module/snd_hda_intel/parameters/power_save файл

  • INTEL_AUDIO_POWERSAVE=false в /usr/lib/pm-utils/power.d/intel-audio-powersave

Ничего не сработало, даже временно.


Теперь я заметил, что всякий раз, когда я открываю регулятор громкости PulseAudio и держу его открытым, шум исчезает! Как только приложение закрывается, шум возвращается. Таким образом, это, кажется, работает временно и дешевое решение. Может ли кто-нибудь разобраться в этом вопросе и предложить постоянное решение проблемы?

2 ответа

Решение

Многие пользователи сталкиваются с проблемой шума, когда наушники подключены, и им это надоело, как и мне. Это решение для них. На askubuntu дано много решений, но ни одно из них не помогло мне.

Все было хорошо, когда я использовал Windows 8.1. Не было такой проблемы со звуком. Хорошо, но сейчас я нахожусь на Ubuntu и не собираюсь возвращаться к Windows.

Я принял тот факт, что звуковая система моего ноутбука не защищена должным образом. Я не обратился к корню проблемы, но просто сделал ее практически незаметной.

Итак, взломать довольно просто. Так как проблема сохраняется только тогда, когда нет воспроизведения, я придумал хак, чтобы всегда иметь воспроизведение! Теперь это должно быть правдой только тогда, когда наушники подключены. И воспроизведение должно остановиться, когда наушники сняты.

Следуйте этим простым шагам

Шаг № 1: Установите mplayer и настройте его.

sudo apt install mplayer    
nano ~/.mplayer/config  

введите этот файл-> lirc=no

Шаг № 2: Загрузите этот mp3-файл отсюда (silence-10sec.mp3)

Шаг № 3: Создайте папку в домашнем каталоге и назовите ее .hush
Скопируйте mp3 файл в свой .hush каталог

cp ~/Downloads/silence-10sec.mp3 ~/.hush/

В этой папке создайте файл сценария и назовите его silence.sh
Скопируйте и вставьте этот код в файл скрипта.

#!/bin/bash

plugged="jack/headphone HEADPHONE plug"
unplugged="jack/headphone HEADPHONE unplug"

acpi_listen | while IFS= read -r event;
do
    if [ "$event" == "$plugged" ]
    then
       mplayer -really-quiet -loop 0 ~/.scripts/silence-10sec.mp3 &
    elif [ "$event" == "$unplugged" ]
    then
       pkill -f mplayer
    fi
done

Сделайте его исполняемым с помощью команды chmod +755 silence.sh

Шаг № 4: Тип startup applications в Dash и добавьте к нему скрипт пути silence.sh.

Итак, в основном то, что мы делаем, это слушание событий, связанных с подключением и отключением наушников, и проигрывание или остановка пустого mp3-файла в цикле. Теперь я использовал mplayer потому что я знаю, что никогда не буду использовать это для каких-либо других целей, и уничтожение этого процесса совершенно безопасно для меня.

Я пришел к этой идее, когда Sergiy Kolodyazhnyy ответил на один из моих вопросов.
Он придумал этот сценарий, и я просто внес в него изменения, чтобы соответствовать требованиям.

Мне нравится этот подход, и я должен был его использовать, поскольку я не мог исправить проблему даже с этими изменениями, внесенными в корневой каталог, для прекращения экономии энергии наушников. Однако я сделал одно изменение: установил sox pagae, чтобы использовать функцию воспроизведения и поддержку mp3:

$ sudo apt install sox # содержит "play" для воспроизведения аудио $ sudo apt install libsox-fmt-all # включить поддержку mp3

#!/bin/bash

plugged="jack/headphone HEADPHONE plug"
unplugged="jack/headphone HEADPHONE unplug"

acpi_listen | while IFS= read -r event;
do
    if [ "$event" == "$plugged" ]
    then
       play -loop 0 /home/$USER/.hush/10-seconds-of-silence.mp3 &
    elif [ "$event" == "$unplugged" ]
    then
       pkill -f play
    fi
done

Обратите внимание, попробуйте открыть следующее и изменить 1 на 0:

$ sudo nano cat /sys/module/snd_hda_intel/parameters/power_save

Это сработало для меня, но у меня были проблемы, даже если root перезаписал файл, вероятно, так как он обновляется и используется (не на 100%). Я перебрал его и переставил заменять наушники.

Другие вопросы по тегам