Gibt es ein Standardprogramm, mit dem ich überprüfen kann, ob meine Audiogeräte stumm geschaltet sind?
Bearbeiten: Mit Schweigen meine ich, wenn etwas darauf spielt (nicht nur aktiviert oder geöffnet)
Etwas wie das:
if [[ device0 is silent ]] ; then
radio $RANDOM
fi
Bearbeiten 2: Was ich erreichen möchte, ist ein Skript, das Radio spielt und weiter spielen kann, wenn der Player ausfällt. Wenn beispielsweise die Internetverbindung unterbrochen wird und der Player nicht wiederhergestellt wurde, werde ich den Player töten und von vorne beginnen
sox
. In anderen Fällen können Sie es versuchenlsof|grep snd
. Wenn es nichts gibt, können Sie das Radio einschalten.Antworten:
Wenn Sie PulseAudio verwenden (Gnome-basierte Linux-Distributionen verwenden in der Regel PulseAudio, können Sie überprüfen, ob eine ausgeführt wird
ps -C pulseaudio
) und Sie möchten wissen, ob einige Anwendungen Daten an eine "Senke" senden, können Sie Folgendes tun:Wenn Sie bei PulseAudio überprüfen möchten, ob Ihre Tonausgabe stummgeschaltet ist, ist dies möglicherweise einfacher, aber Sie können den Status "Stummschalten" der Standard-Senke mithilfe von:
quelle
no
in jeder Situation zurück,mplayer
) gibt esState: CORKED
stattState: RUNNING
in diesem Fall, so dass es immer noch funktionieren würde. Wenn die AnwendungRUNNING
Stummschaltungsdaten speist (Stummschaltung abspielt ), wird dies vermutlich weiterhin angezeigt. In diesem Fall sehe ich jedoch keine andere Alternative als die Verwendung von Pamon auf dem Überwachungsgerät aller Waschbecken und die Überprüfung auf Stille.Wenn ich Sie richtig verstehe, hier ein Beispiel:
Stille:
Ich schalte kühn ein:
Für OSS chande
/dev/snd/timer
zu/dev/dsp
.Dies ist eine sehr abhängige Methode.
quelle
Angenommen, Sie verwenden ALSA-Mixer für Ihren Sound, können Sie
amixer
Informationen zu Audiogeräten abfragen. Ein Audiogerät verfügt normalerweise über mehrere Audiokanäle - oder Steuerelemente -, die jeweils stummgeschaltet und nicht stummgeschaltet werden können. Um beispielsweise zu überprüfen, ob dasMaster
Steuerelement stummgeschaltet ist, gehen Sie wie folgt vor:Verwenden Sie die
set
Option, um Dinge an den Steuerelementen auszuführen. Sehen Sieman amixer
für weitere Hilfe.quelle
amixer
hat es nicht funktioniert, ich habe über 15 Minuten getestet, ohne dass ein Spieler geöffnet war, und es wird immer noch "nicht stummgeschaltet"Die Antwort von htor wird wahrscheinlich funktionieren, aber es ist durchaus möglich, dass "off" irgendwo anders in der Ausgabe erscheint und ein falsches Ergebnis verursacht. Hier ist eine strengere Überprüfung mit GNU awk:
quelle
amixer
letzten Zeile steht nein$6
: "Mono: Wiedergabe [ein]". (amixer
Version 1.0.26) Vielleicht$NF
wäre portabler.