為什麼取消靜音不能與 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 作業系統* 中控制音量的更好命令嗎?如果不是,什麼工具比 amixer 更好?

*注意:一般是 Linux 作業系統,因為它應該適用於所有 Linux 發行版,並且出現靜音/取消靜音聲音的不相容性和程式碼變更的可能性較小。

答案1

由此郵政阿維達斯寫道:

由於某種原因,靜音工作正常,但取消靜音或切換則無效。經過進一步調查,我注意到透過將主通道靜音,「PCM」和「Master Mono」通道也會被靜音。取消 Master 靜音不會取消這兩個頻道的靜音。

這對我在 ubuntu 14.04 (qtile WM) 上取消靜音有用:

pactl set-sink-mute 0 0

靜音:

pactl set-sink-mute 0 1

更新:

關於這個問題有很多報導錯誤#1026331錯誤#878986 在啟動板中,如果您靜音/切換主控:

amixer set Master mute

其他聲道(在我的例子中是耳機和揚聲器)也會靜音。但如果你取消靜音/切換 Master :

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

相關內容