Ho una barra di stato del testo su un gestore di finestre di affiancamento e sto usando tcl per fornire informazioni ad esso. Al momento ho bisogno di una riga di comando che generi il livello del volume dallo 0% al 100%. Sto usando Arch Linux.
Ho una barra di stato del testo su un gestore di finestre di affiancamento e sto usando tcl per fornire informazioni ad esso. Al momento ho bisogno di una riga di comando che generi il livello del volume dallo 0% al 100%. Sto usando Arch Linux.
Risposte:
Un one-liner per analizzare amixer
l'output del volume in una barra di stato:
awk -F"[][]" '/dB/ { print $2 }' <(amixer sget Master)
[][]
significa?
]
o [
.
F
vol=$(awk '/%/ {gsub(/[\[\]]/,""); print $4}' <(amixer sget Master))
Puoi usare amixer
per fare questo.
$ 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]
Puoi anche cambiarlo e disattivarlo in questo modo:
volume impostato 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]
attivazione / disattivazione volume
$ 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]
È possibile silenziare l'output se non si desidera vederlo con l' --quiet
interruttore.
$ amixer --quiet set Master 75%
$
Giusto
amixer sget Master | grep 'Right:' | awk -F'[][]' '{ print $2 }'
85%
Sinistra
amixer sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }'
85%
Server audio
Se non si utilizza pulseaudio come impostazione predefinita, è possibile specificare con amixer
quale server utilizzare-D pulse
amixer -D pulse sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }'
85%
/var/lib/alsa/asound.state
.