我正在尝试在 Linux 终端上使用 amixer 命令来静音和取消静音。
用于静音的命令:
amixer sset 'Master' mute
和
amixer set Master mute
两者都有效...
但当我尝试取消静音时:
amixer sset 'Master' unmute
和
amixer set Master unmute
它不起作用并且音量仍然静音。
两条取消静音代码行都尝试在终端中返回此输出:
简单的混音器控制“Master”,0 功能:pvolume pvolume-joined pswitch pswitch-joined 播放频道:单声道 限制:播放 0 - 87 单声道:播放 87 [100%] [0.00dB] [on]
我如何才能让 amixer 取消静音?为什么它不能关闭?amixer 是不是 Linux OS* 中控制音量的更好命令?如果不是,有什么工具比 amixer 更好?
*注:一般来说,Linux 操作系统,因为它应该适用于所有 Linux 发行版,并且发生不兼容的可能性较小,并且静音/取消静音的代码变化也较小。
答案1
由此邮政Arvydas 写道:
出于某种原因,静音效果很好,但取消静音或切换则没有效果。经过进一步调查,我发现通过静音主通道,“PCM”和“主单声道”通道也会静音。取消主静音不会取消这两个通道的静音。
这对我而言在 ubuntu 14.04 (qtile WM) 上取消静音有效:
pactl set-sink-mute 0 0
靜音:
pactl set-sink-mute 0 1
更新:
关于这个问题有很多报道错误 #1026331和错误 #878986 在启动板中,如果您静音/切换主控:
amixer set Master mute
其他频道(我的情况是耳机和扬声器)也将静音。但如果你取消静音/切换主频道:
amixer set Master unmute
其他频道将保持静音,但如果您尝试取消静音耳机和扬声器频道声音将恢复
amixer set Master unmute
amixer set Headphone unmute
amixer set Speaker unmute
答案2
xdotool 有时会很麻烦,幸运的是 PulseAudio 现在提供了音量调节和静音的命令。
尝试此命令:pactl set-sink-mute 0 toggle
切换静音。
来源:https://wiki.archlinux.org/index.php/PulseAudio#Keyboard_volume_control
答案3
以上所有现有答案都可以使用pactl
或xdotool
,这里是一个amixer
具体答案:
这对于静音和取消静音都有效:
amixer -D pulse set Master toggle
它指定脉冲音频以确保取消静音,取消所有内容的静音。
- 它适用于从 13.04 到 17.10 以及当前的 Ubuntu 和 Debian
- 原始答案中有一个
1+
,但原因不明,并且“没有参数效果会更好1+
” - 有人声称甚至
amixer set Master toggle
可以工作,并且我已经确认它适用于我的 Debian 10。
答案4
amixer -D pulse set Master 1+ toggle