Sto cercando di scoprire come scaricare le uscite di loopback di pulseaudio. Sto usando pulseaudio per creare un mix di loopback per acquisire il mio microfono e l'audio del sistema per lo streaming. Ogni volta che lancio il mio script che ha questo codice:
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
lascia dietro di sé due dispositivi di output dopo la chiusura. Il comando unload-module elimina quello di registrazione ma non riesco a trovare un comando per le uscite.
Risposta accettata:
Il modo appropriato per scaricare i moduli
Lo scarico di un modulo caricato su Pulse Audio viene effettuato dal numero di indice del modulo, che viene fornito al caricamento:
pactl load-module module-null-sink sink_name=test
24
Nell'esempio sopra il server Pulseaudio ha caricato il modulo con ID indice 24
. Questo modulo può essere scaricato con il seguente comando:
pactl unload-module 24
Il tuo script dovrà analizzare l'output di pactl
.
Nel caso in cui non conosciamo il numero del modulo possiamo emettere il seguente comando che visualizzerà il numero e il nome del modulo:
pactl list short modules
Le versioni più recenti consentono anche lo scarico per nome:
pactl unload-module <name>
Il metodo veloce e sporco
Se pulseaudio è impostato come demone a spawn automatico (che dovrebbe essere il begaviour predefinito) potremmo scaricare rapidamente tutti i moduli caricati dopo l'accesso con un ripristino del server PulseAudio per caricare i moduli predefiniti definiti nel nostro default.pa
eseguendo:
pulseaudio -k
Questo scaricherà efficacemente tutti i moduli dallo script e caricherà il sink predefinito per l'output.