То, что я хочу, это следующее:
- Когда я подключаю наушники, я хочу, чтобы звук не был приглушен и установлен на определенный уровень громкости.
- Когда я отключаю наушники, я хочу, чтобы звук был отключен (или установлен на определенный уровень громкости).
Установка уровней громкости не является проблемой, но мне как-то нужно это делать при отключении / подключении наушников, поэтому я ищу способ получать уведомления об этих событиях.
Я быстро обнаружил, /proc/asound/card0/codec#0
чтобы указать, подключены ли наушники или нет, поэтому я попытался контролировать его с помощью inotifywait
и изменить уровень громкости на основе измененных уведомлений. К сожалению, inotifywait
не удалось, потому что proc не обычная файловая система.
Есть ли другие способы сделать это (возможно, через PulseAudio)?
Аудиоустройство: Intel HDA , аудиокодек: Conexant CX20585 .
Подводя итог тому, что я пробовал до сих пор:
- Ear Candy: вообще не работал в моей системе. Кажется, заброшенный проект?
- Код, опубликованный Карлом Билефельдом, может работать на некоторых аппаратных средствах, но не на моем.
- Идея от StephenPaulger проваливается из-за отсутствия канала «Speaker».
- По мотивам aking1012 я заставил его работать, взломав код ядра (после нахождения кода кодека, распознающего домкрат), но это довольно громоздкое решение.
Итак, я все еще ищу простой способ сделать это.