当我按下键盘上的静音按钮时,它起作用了。但是当我第二次按下它时,声音没有取消静音。如何修复它?
此密钥在 xubuntu 14.04 上工作正常。硬件是三星 550p5c。
答案1
我也遇到了同样的问题。作者在评论中提供了一个论坛帖子的链接,该帖子已解决该问题,但为了完整起见,如果其他人遇到此帖子,这里有一个解决方案。
取消静音的问题在于,按下按钮只会取消主通道的静音,而不会取消 Pulsaudio 通道的静音。要纠正这个问题,必须修改XF86AudioMute
按钮的键绑定,该绑定在 Lubuntu 上是在文件中定义的~/.config/openbox/lubuntu-rc.xml
。使用文本编辑器打开文件并找到<keybind key="XF86AudioMute">
,然后在<command>
部分中输入以下命令:amixer -D pulse set Master Playback Switch toggle
。
这个问题已在问库本图但如果您不知道问题出在 Alsa 上,那么实际上很难找到它,这很容易发生在 Ubuntu 新手身上。
最后运行openbox --reconfigure
以设置配置。
答案2
诀窍是让扬声器或耳机状态遵循主通道的状态,具体取决于您是否插入了耳机。此脚本在我古老的 Dell Latitude 笔记本电脑上为我完成了此操作:
#!/bin/bash
amixer -q sset Master toggle
MASTER_STATE=`amixer get Master | awk -F"dB] " 'NR == 5 {print $2;}'`
HEADPHONES_PLUGGED=`amixer contents | grep -A 2 Headphone\ Jack | awk -F"=" 'NR == 3 {print $2;}'`
if [[ $HEADPHONES_PLUGGED == 'on' ]]; then
SLAVE="Headphone"
else
SLAVE="Speaker+LO"
fi
if [[ $MASTER_STATE == '[on]' ]]; then
amixer -q sset $SLAVE unmute
else
amixer -q sset $SLAVE mute
fi
您可能需要在计算机上使用 amixer 检查您的频道,并相应地更改 SLAVE 定义。此外,HEADPHONES_PLUGGED 定义中的“Headphone\ Jack”grep 字符串可能需要是其他内容。
要连接到切换按钮,您应该通过配置文件提供上述脚本~/.config/openbox/lubuntu-rc.xml
。
<keybind key="XF86AudioMute">
<action name="Execute">
<!--command>amixer -q sset Master toggle</command-->
<command>/usr/local/bin/amixer-toggle.sh</command>
</action>
</keybind>