Si vous utilisez PulseAudio (les distributions Linux basées sur Gnome ont tendance à utiliser PulseAudio, vous pouvez vérifier si l'une fonctionne avec ps -C pulseaudio
) et que vous voulez savoir si certaines applications envoient des données à un "récepteur", vous pouvez faire :
pacmd list-sink-inputs | grep -c 'state: RUNNING'
Toujours avec PulseAudio, si vous voulez vérifier si votre sortie son est coupée, il y a peut-être plus simple mais vous pouvez obtenir le statut "mute" du "sink" par défaut en utilisant :
pacmd dump | awk '
$1 == "set-sink-mute" {m[$2] = $3}
$1 == "set-default-sink" {s = $2}
END {print m[s]}'
Si je vous comprends bien, voici un exemple :
Silence :
fuser /dev/snd/timer && echo "Something is playing" || echo "There's silence"
There's silence
J'active l'audace :
fuser /dev/snd/timer && echo "Something is playing" || echo "There's silence"
/dev/snd/timer: 47663
Something is playing
Pour OSS change /dev/snd/timer
à /dev/dsp
.
C'est une méthode très dépendante.