私のオーディオデバイスがミュートされていることを確認する基本的なプログラムはありますか?
編集する:無音とは、何かが再生中のときを意味します(アクティブ化またはオンになっているだけでなく)。
このような:
if [[ device0 is silent ]] ; then
radio $RANDOM
fi
編集2:私が実装したいのは、ブロードキャストを再生し、プレーヤーが失敗した場合でも再生を続けることができるスクリプトです。たとえば、インターネット接続が失われてプレーヤーが再開されない場合は、プレーヤーを殺して再起動します。
ベストアンサー1
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]}'