![即使 alsa 已静音,当电源被拔出时也会使 acpi 发出蜂鸣声](https://linux22.com/image/1307755/%E5%8D%B3%E4%BD%BF%20alsa%20%E5%B7%B2%E9%9D%99%E9%9F%B3%EF%BC%8C%E5%BD%93%E7%94%B5%E6%BA%90%E8%A2%AB%E6%8B%94%E5%87%BA%E6%97%B6%E4%B9%9F%E4%BC%9A%E4%BD%BF%20acpi%20%E5%8F%91%E5%87%BA%E8%9C%82%E9%B8%A3%E5%A3%B0.png)
我的笔记本是Thinkpad Edge系列,这款笔记本在拔掉电源时会发出嘟嘟声,但是我发现如果将alsa设置为静音,嘟嘟声就会被屏蔽。
因此,我想知道我是否可以添加“静音规则”的例外。
答案1
由于声卡和交流适配器种类繁多,可能很难给出一个通用的答案,但基本答案如下:
- 创建一个守护进程来监视 /proc/acpi/ac_adapter/state 是否“离线”(grep 就可以了)
- 使用它来触发将音量设置为 X(参见 alsactl --help)并播放声音/哔哔声(aplay、beep……)
- 将声音返回到系统设置(alsa 设置在 /etc/asound.state 中)
注意:如果您没有 /proc/acpi/ac_adapter/state,请使用其他在拔电源线时会发生变化的东西...例如 /proc/acpi/battery/BAT1/state (充电状态将变为放电)
答案2
不行。Alsa 使用硬件混音器进行静音,效果非常好,甚至连鼠标的细微声音都无法通过。