Snažím se zjistit, jak uvolnit pulzní audio výstupy zpětné smyčky. Používám pulseaudio k vytvoření mixu zpětné smyčky pro zachycení mikrofonu a systémového zvuku pro streamování. Pokaždé, když spustím svůj skript, který má tento kód:
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
po zavření zanechá dvě výstupní zařízení. Příkaz unload-module odstraní záznam, ale nemohu najít příkaz pro výstupy.
Přijatá odpověď:
Vhodný způsob uvolnění modulů
Vyjmutí modulu načteného do Pulse Audio se provádí podle indexového čísla modulu, které je uvedeno při načítání:
pactl load-module module-null-sink sink_name=test
24
Ve výše uvedeném příkladu server Pulseaudio načetl modul s indexem id 24
. Tento modul lze uvolnit pomocí následujícího příkazu:
pactl unload-module 24
Váš skript bude muset analyzovat výstup pactl
.
V případě, že neznáme číslo modulu, můžeme zadat následující příkaz, který zobrazí číslo a název modulu:
pactl list short modules
Novější verze také umožňují vykládání podle názvu:
pactl unload-module <name>
Rychlá a špinavá metoda
Pokud je pulseaudio nastaveno jako auto-spawning démon (což by mělo být výchozí nastavení), můžeme rychle uvolnit všechny načtené moduly po přihlášení s resetováním serveru PulseAudio, abychom načetli výchozí moduly definované v našem default.pa spuštěním:
pulseaudio -k
Tím se efektivně uvolní všechny moduly z vašeho skriptu a načte se výchozí jímka pro výstup.