Lo que quiero es lo siguiente:
- Cuando conecto mis auriculares, quiero que el sonido no sea silenciado y esté configurado en un nivel de volumen específico.
- Cuando desconecto mis auriculares, quiero que el sonido se silencie (o se ajuste a un nivel de volumen específico).
Establecer los niveles de volumen no es el problema, pero de alguna manera necesito hacer esto al desconectar / enchufar los auriculares, así que estoy buscando una manera de recibir notificaciones de esos eventos.
Rápidamente descubrí /proc/asound/card0/codec#0
que indica si los auriculares están enchufados o no, así que intenté monitorearlo usando inotifywait
y cambiar el nivel de volumen en función de las notificaciones modificadas . Desafortunadamente inotifywait
falló porque proc no es un sistema de archivos ordinario.
¿Hay otras formas de hacer esto (tal vez a través de PulseAudio)?
Dispositivo de audio: Intel HDA , códec de audio: Conexant CX20585 .
Para resumir lo que he intentado hasta ahora:
- Ear Candy: no se ejecutó en absoluto en mi sistema. Parece ser un proyecto abandonado?
- El código publicado por Karl Bielefeldt podría funcionar en algún hardware, no en el mío.
- La idea de StephenPaulger falla debido a la falta de un canal 'Speaker'.
- Motivado por aking1012, lo hice funcionar al piratear el código del núcleo (después de encontrar el código de detección de jack del códec), pero esa es una solución bastante engorrosa.
Entonces, todavía estoy buscando una manera fácil de hacer esto.