Есть ли способ отключения звука с моего компьютера каждый раз, когда я отсоединяю наушники (как это делает телефон), чтобы остановить звук, а затем воспроизводить его из динамиков?
sound
headphones
speakers
audio-jack
Dandyman
источник
источник
Ответы:
Как обнаружить отключение
В основном то, что работало для меня, было:
Для меня разница была в «Node 0x16» под «Amp-Out vals»:
Поэтому я основал обнаружение на найденной разнице.
Как отключить звук
Обладая этими знаниями, вы можете запустить скрипт в фоновом режиме. Если сценарий отключен, звук динамиков отключается, как при использовании
amixer sset Master playback 0%
(или любой другой команды).Вы можете сделать его исполняемым с помощью
chmod +x scriptname.sh
и поместить его в автозагрузку приложений. Вы должны будете отрегулировать обнаружение отключения, хотя, находя свою собственную разницу в/proc/asound/card0/codec#0
(возможно, даже изменить числа здесь для нескольких звуковых карт.Ссылки по теме:
https://wiki.ubuntu.com/Audio/PreciseJackDetectionTesting
/unix/25776/detecting-headphone-connection-disconnection-in-linux
Как автоматически изменить уровень громкости при отключении / подключении наушников?
источник
while
циклом (даже без небольшой инструкции сна), работающего в фоновом режиме, далеко от идеального решения; это уродливый и хакерский обходной путь, в дополнение к тому, чтобы быть убийцей процессора и батареи. Я попробовал это сделать и перешел от обычной ситуации постоянного использования процессора на 5% (с открытым браузером, spotify, терминалом, IDE, Telegram и другими приложениями) до 45% постоянного использования процессора.acpi_listen
, как предлагается в одной из ссылок в этом ответе.Это работало для меня на Ubuntu 14.04:
«с отключенными наушниками. Вставьте наушники и увеличьте громкость. Снимите наушники и проверьте, не отключен ли звук».
Предоставлено: RevDrStrangelove на https://www.reddit.com/r/LifeProTips/comments/369k76/lpt_request_automaticly_mute_laptop_after_headset/
источник
Для Ubuntu-16.10 я немного изменил этот ответ .
источник
Если у вас есть проблемы с отслеживанием событий,
/etc/acpi/handler.sh
смотрите мой ответ . Это также без кодов устройства, какNode 0x16
.источник