Command-Line
如何從命令行獲取音量級別?
我在平鋪視窗管理器上有一個文本狀態欄,我正在使用 tcl 向它提供資訊。目前我需要一個輸出音量級別 0% 到 100% 的命令行。我正在使用 Arch Linux。
amixer
在狀態欄中解析音量輸出的單行程式碼:awk -F"[][]" '/dB/ { print $2 }' <(amixer sget Master)
編輯: 截至 2020 年 11 月,Arch Linux 的更新混音器為 1.2.4,其輸出中沒有“dB”。因此,該命令應替換為:
awk -F"[][]" '/Left:/ { print $2 }' <(amixer sget Master)
您可以使用它
amixer
來執行此操作。例子
$ amixer get Master Simple mixer control 'Master',0 Capabilities: pvolume pswitch pswitch-joined penum Playback channels: Front Left - Front Right Limits: Playback 0 - 65536 Mono: Front Left: Playback 65536 [100%] [off] Front Right: Playback 65536 [100%] [off]
您也可以像這樣更改它並將其靜音:
設定音量 75%
$ amixer set Master 75% Simple mixer control 'Master',0 Capabilities: pvolume pswitch pswitch-joined penum Playback channels: Front Left - Front Right Limits: Playback 0 - 65536 Mono: Front Left: Playback 49152 [75%] [on] Front Right: Playback 49152 [75%] [on]
靜音/取消靜音
$ amixer set Master toggle Simple mixer control 'Master',0 Capabilities: pvolume pswitch pswitch-joined penum Playback channels: Front Left - Front Right Limits: Playback 0 - 65536 Mono: Front Left: Playback 65536 [100%] [on] Front Right: Playback 65536 [100%] [on]
如果您不想通過
--quiet
開關看到任何輸出,您可以使輸出靜音。$ amixer --quiet set Master 75% $