PulseAudio を使用している場合 (Gnome ベースの Linux ディストリビューションは PulseAudio を使用する傾向があるため、ps -C pulseaudio
で実行されているかどうかを確認できます) ) で、一部のアプリケーションがデータを「シンク」に送信しているかどうかを知りたい場合は、次のように実行できます。
pacmd list-sink-inputs | grep -c 'state: RUNNING'
それでも PulseAudio を使用して、サウンド出力がミュートされているかどうかを確認したい場合は、もっと簡単な方法があるかもしれませんが、次を使用してデフォルトの「シンク」の「ミュート」ステータスを取得できます。
pacmd dump | awk '
$1 == "set-sink-mute" {m[$2] = $3}
$1 == "set-default-sink" {s = $2}
END {print m[s]}'
私の理解が正しければ、ここに例を示します:
沈黙:
fuser /dev/snd/timer && echo "Something is playing" || echo "There's silence"
There's silence
私はオーダシャスをオンにします:
fuser /dev/snd/timer && echo "Something is playing" || echo "There's silence"
/dev/snd/timer: 47663
Something is playing
OSS シャンデ /dev/snd/timer
の場合 /dev/dsp
まで .
これは依存度の高い方法です。