拔出/插入耳机时如何自动更改音量?

hto*_*que 36 sound headphones pulseaudio

我想要的是以下内容:

  • 当我插入耳机时,我希望将声音取消静音并设置为特定的音量级别。
  • 当我拔下耳机时,我希望将声音静音(或设置为特定的音量级别)。

设置音量级别不是问题,但是在拔出/插入耳机时我需要以某种方式执行此操作,因此我正在寻找一种方法来获得这些事件的通知。

我很快发现/proc/asound/card0/codec#0指示耳机是否已插入,因此我尝试使用inotifywait并根据修改后的通知更改音量级别来监视它。不幸的是inotifywait失败了,因为proc不是一个普通的文件系统。

有没有其他方法可以做到这一点(也许通过 PulseAudio)?

音频设备:Intel HDA,音频编解码器:Conexant CX20585


总结一下我到目前为止的尝试:

  • Ear Candy:根本没有在我的系统上运行。似乎是一个废弃的项目?
  • Karl Bielefeldt发布的代码可能适用于某些硬件,但不适用于我的。
  • 由于缺少“演讲者”频道,StephenPaulger的想法失败了。
  • aking1012 的启发,我通过在内核代码中进行黑客攻击来使其工作(在找到编解码器的插孔感应代码之后),但这是一个相当麻烦的解决方案。

所以,我仍在寻找一种简单的方法来做到这一点。

hto*_*que 4

在 Oneiric 的 UDS 期间,有一个关于插孔检测的会议。详情请参阅蓝图。听起来这正是我正在寻找的:不同设备的不同音量级别 - 只是不是在每个硬件上:

\n
\n

<htorque> 我很好奇的事情:我很快就能为不同的设备设置不同的音量(例如,内部声音静音,耳机 75%)?

\n

<coling> 这将被支持(在某些硬件上)是的。时间刻度“很快”:p
\n<coling> (我还希望在插入/拔出插孔时显示 OSD(带有当前音量))

\n
\n

11.10 更新

\n

现在应该可以在 Oneiric 中运行- 不幸的是我的 ThinkPad T510 似乎是当前不受支持的系统之一。

\n

大卫·亨宁森 (David Henningsson) 的另一个后续行动:

\n
\n

长话短说,它\xe2\x80\x99是一个令人向往的功能,我们\xe2\x80\x99正朝着这个方向前进,但速度很慢,因为该功能比乍一看更复杂。

\n

好消息:在即将推出的 Ubuntu Oneiric (11.10) 中,这实际上是有效的。坏消息:它并不适合所有人。

\n
\n

更多这里

\n

12.04 更新

\n

它现在可以在 Ubuntu 12.04(开发版本)中与我的 ThinkPad T510(以及许多其他型号)配合使用。

\n