Se stai usando PulseAudio (le distribuzioni Linux basate su Gnome tendono a usare PulseAudio, puoi verificare se ne è in esecuzione una con ps -C pulseaudio
) e vuoi sapere se alcune applicazioni stanno inviando dati a qualsiasi "sink", puoi fare:
pacmd list-sink-inputs | grep -c 'state: RUNNING'
Sempre con PulseAudio, se vuoi controllare se la tua uscita audio è disattivata, potrebbe essere più semplice ma puoi ottenere lo stato "muto" del "sink" predefinito usando:
pacmd dump | awk '
$1 == "set-sink-mute" {m[$2] = $3}
$1 == "set-default-sink" {s = $2}
END {print m[s]}'
Se ho capito bene, ecco un esempio:
Silenzio:
fuser /dev/snd/timer && echo "Something is playing" || echo "There's silence"
There's silence
Accendo audacious:
fuser /dev/snd/timer && echo "Something is playing" || echo "There's silence"
/dev/snd/timer: 47663
Something is playing
Per OSS chande /dev/snd/timer
a /dev/dsp
.
Questo è un metodo molto dipendente.