Mam tekstowy pasek stanu w menedżerze okien kafelkowych i używam tcl do podawania do niego informacji. W tej chwili potrzebuję wiersza polecenia, który wyświetla poziom głośności od 0% do 100%. Używam Arch Linux.
Mam tekstowy pasek stanu w menedżerze okien kafelkowych i używam tcl do podawania do niego informacji. W tej chwili potrzebuję wiersza polecenia, który wyświetla poziom głośności od 0% do 100%. Używam Arch Linux.
Odpowiedzi:
Jednowierszowy program do analizowania amixer
danych wyjściowych dotyczących głośności na pasku stanu:
awk -F"[][]" '/dB/ { print $2 }' <(amixer sget Master)
[][]
znaczy
]
lub [
.
F
vol=$(awk '/%/ {gsub(/[\[\]]/,""); print $4}' <(amixer sget Master))
Możesz użyć amixer
do tego.
$ 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]
Możesz go również zmienić i wyciszyć w następujący sposób:
Ustaw głośność 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]
wycisz / wyłącz wyciszenie
$ 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]
Możesz wyciszyć wyjście, jeśli nie chcesz widzieć go za pomocą --quiet
przełącznika.
$ amixer --quiet set Master 75%
$
Dobrze
amixer sget Master | grep 'Right:' | awk -F'[][]' '{ print $2 }'
85%
Lewo
amixer sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }'
85%
Serwer dźwięku
Jeśli domyślnie nie korzystasz z pulseaudio, możesz określić, z amixer
którym serwerem ma korzystać-D pulse
amixer -D pulse sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }'
85%
/var/lib/alsa/asound.state
.