วิธีการเปลี่ยนระดับเสียงโดยอัตโนมัติเมื่อถอด / เสียบหูฟัง?
สิ่งที่ฉันต้องการคือ: เมื่อฉันเสียบหูฟังฉันต้องการยกเลิกการปิดเสียงและตั้งค่าระดับเสียงเฉพาะ เมื่อฉันถอดปลั๊กหูฟังของฉันฉันต้องการให้เสียงถูกปิดเสียง (หรือตั้งค่าเป็นระดับเสียงเฉพาะ) การตั้งค่าระดับเสียงไม่ได้เป็นปัญหา แต่อย่างใดฉันต้องทำสิ่งนี้เมื่อถอด / เสียบหูฟังดังนั้นฉันจึงมองหาวิธีที่จะได้รับการแจ้งเตือนจากเหตุการณ์เหล่านั้น ฉันพบอย่างรวดเร็ว/proc/asound/card0/codec#0เพื่อระบุว่ามีการเสียบหูฟังหรือไม่ดังนั้นฉันจึงพยายามตรวจสอบโดยใช้inotifywaitและเปลี่ยนระดับเสียงตามการแจ้งเตือนที่แก้ไข น่าเสียดายที่inotifywaitล้มเหลวเพราะprocไม่ใช่ระบบไฟล์ธรรมดา มีวิธีอื่นในการทำเช่นนี้ (อาจจะผ่าน PulseAudio) อุปกรณ์เสียง: Intel HDA , ตัวแปลงสัญญาณเสียง: Conexant CX20585 เพื่อสรุปสิ่งที่ฉันได้ลองไปแล้ว: Ear Candy: ไม่ได้ทำงานเลยในระบบของฉัน ดูเหมือนว่าจะเป็นโครงการที่ถูกทิ้งร้าง? รหัสที่โพสต์โดยKarl Bielefeldtอาจใช้ได้กับฮาร์ดแวร์บางตัว แต่ไม่สามารถทำได้ แนวคิดจากStephenPaulgerล้มเหลวเนื่องจากขาดช่อง 'ลำโพง' ได้แรงบันดาลใจจากaking1012ฉันทำให้มันทำงานได้โดยการแฮ็กในโค้ดเคอร์เนล (หลังจากค้นหาโค้ดตัวแปลงสัญญาณแจ็คของตัวแปลงสัญญาณ) แต่นั่นเป็นวิธีที่ค่อนข้างยุ่งยาก ดังนั้นฉันยังคงมองหาวิธีที่ง่ายในการทำเช่นนี้