为什么取消静音不能与 amixer 命令一起使用?

为什么取消静音不能与 amixer 命令一起使用?

我正在尝试在 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

以上所有现有答案都可以使用pactlxdotool,这里是一个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

相关内容