Ich versuche herauszufinden, wie man Pulsaudio-Loopback-Ausgänge entlädt. Ich verwende pulseaudio, um einen Loopback-Mix zu erstellen, um mein Mikrofon und Systemaudio für das Streaming aufzunehmen. Jedes Mal, wenn ich mein Skript mit diesem Code starte:
pactl load-module module-null-sink sink_name=mix
pactl load-module module-loopback sink=mix
pactl load-module module-loopback sink=mix
avconv ...
pactl unload-module module-loopback
es hinterlässt nach dem Schließen zwei Ausgabegeräte. Der Unload-Module-Befehl entfernt den Recording-Befehl, aber ich kann keinen Befehl für die Ausgaben finden.
Akzeptierte Antwort:
Der richtige Weg, um Module zu entladen
Das Entladen eines in Pulse Audio geladenen Moduls erfolgt über die Indexnummer des Moduls, die beim Laden angegeben wird:
pactl load-module module-null-sink sink_name=test
24
Im obigen Beispiel hat der Pulsaudio-Server das Modul mit der Index-ID 24
geladen . Dieses Modul kann mit dem folgenden Befehl entladen werden:
pactl unload-module 24
Ihr Skript muss die Ausgabe von pactl
parsen .
Falls wir die Modulnummer nicht kennen, können wir den folgenden Befehl ausführen, der die Nummer und den Modulnamen anzeigt:
pactl list short modules
Neuere Versionen erlauben auch das Entladen nach Namen:
pactl unload-module <name>
Die schnelle und schmutzige Methode
Wenn pulseaudio als Auto-Spawning-Dämon eingerichtet ist (was die Standardeinstellung sein sollte), können wir schnell alle nach der Anmeldung geladenen Module mit einem Reset des PulseAudio-Servers entladen, um die in unserer default.pa indem Sie Folgendes ausführen:
pulseaudio -k
Dadurch werden effektiv alle Module aus Ihrem Skript entladen und die Standardsenke für die Ausgabe geladen.