J'ai une barre d'état de texte sur un gestionnaire de fenêtres de mosaïque et j'utilise tcl pour lui fournir des informations. Pour le moment, j'ai besoin d'une ligne de commande qui affiche le niveau de volume de 0% à 100%. J'utilise Arch Linux.
J'ai une barre d'état de texte sur un gestionnaire de fenêtres de mosaïque et j'utilise tcl pour lui fournir des informations. Pour le moment, j'ai besoin d'une ligne de commande qui affiche le niveau de volume de 0% à 100%. J'utilise Arch Linux.
Réponses:
Une ligne pour analyser amixer
la sortie du volume dans une barre d'état:
awk -F"[][]" '/dB/ { print $2 }' <(amixer sget Master)
[][]
signifie?
]
ou [
.
F
vol=$(awk '/%/ {gsub(/[\[\]]/,""); print $4}' <(amixer sget Master))
Vous pouvez utiliser amixer
pour ce faire.
$ 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]
Vous pouvez également le modifier et le désactiver comme ceci:
volume réglé 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]
activer / désactiver le son
$ 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]
Vous pouvez calmer la sortie si vous ne voulez rien voir avec le --quiet
commutateur.
$ amixer --quiet set Master 75%
$
Droite
amixer sget Master | grep 'Right:' | awk -F'[][]' '{ print $2 }'
85%
La gauche
amixer sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }'
85%
Serveur de son
Si vous n'utilisez pas pulseaudio par défaut, vous pouvez spécifier sur amixer
quel serveur utiliser-D pulse
amixer -D pulse sget Master | grep 'Left:' | awk -F'[][]' '{ print $2 }'
85%
/var/lib/alsa/asound.state
.