Yang saya inginkan adalah sebagai berikut:
- Ketika saya mencolokkan headphone saya, saya ingin suara tidak dibisukan dan diatur ke tingkat volume tertentu.
- Ketika saya mencabut headphone saya, saya ingin suara dimatikan (atau diatur ke tingkat volume tertentu).
Mengatur level volume bukanlah masalah, tapi entah bagaimana saya perlu melakukan ini ketika melepas headphone, jadi saya mencari cara untuk mendapatkan pemberitahuan tentang peristiwa itu.
Saya dengan cepat menemukan bahwa /proc/asound/card0/codec#0
headphone terpasang atau tidak, jadi saya mencoba memantaunya menggunakan inotifywait
dan mengubah level volume berdasarkan notifikasi yang dimodifikasi . Sayangnya inotifywait
gagal karena proc bukan sistem file biasa.
Apakah ada cara lain untuk melakukan ini (mungkin melalui PulseAudio)?
Perangkat audio: Intel HDA , audio codec: Conexant CX20585 .
Untuk meringkas apa yang telah saya coba sejauh ini:
- Ear Candy: sama sekali tidak berjalan di sistem saya. Tampaknya menjadi proyek yang ditinggalkan?
- Kode yang diposting oleh Karl Bielefeldt mungkin berfungsi pada beberapa perangkat keras, tidak pada saya.
- Gagasan dari StephenPaulger gagal karena kurangnya saluran 'Speaker'.
- Termotivasi oleh aking1012 Saya membuatnya bekerja dengan meretas kode kernel (setelah menemukan kode indera jack dari codec), tapi itu solusi yang agak rumit.
Jadi, saya masih mencari cara mudah untuk melakukan ini.