Si está usando PulseAudio (las distribuciones de Linux basadas en Gnome tienden a usar PulseAudio, puede verificar si se está ejecutando con ps -C pulseaudio
) y desea saber si algunas aplicaciones envían datos a algún "sumidero", puede hacerlo:
pacmd list-sink-inputs | grep -c 'state: RUNNING'
Aún con PulseAudio, si desea verificar si su salida de sonido está silenciada, podría ser más simple, pero puede obtener el estado "silenciado" del "sumidero" predeterminado usando:
pacmd dump | awk '
$1 == "set-sink-mute" {m[$2] = $3}
$1 == "set-default-sink" {s = $2}
END {print m[s]}'
Si te entiendo bien, aquí un ejemplo:
Silencio:
fuser /dev/snd/timer && echo "Something is playing" || echo "There's silence"
There's silence
Me enciendo audaz:
fuser /dev/snd/timer && echo "Something is playing" || echo "There's silence"
/dev/snd/timer: 47663
Something is playing
Para el cambio OSS /dev/snd/timer
a /dev/dsp
.
Este es un método muy dependiente.