J'essaie de savoir comment décharger les sorties de bouclage pulseaudio. J'utilise pulseaudio pour créer un mixage en boucle afin de capturer mon microphone et l'audio du système pour le streaming. A chaque fois que je lance mon script qui a ce code :
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
il laisse derrière lui deux périphériques de sortie après sa fermeture. La commande unload-module se débarrasse de celle d'enregistrement mais je ne trouve pas de commande pour les sorties.
Réponse acceptée :
La manière appropriée de décharger les modules
Le déchargement d'un module chargé dans Pulse Audio se fait par le numéro d'index du module, qui est donné au chargement :
pactl load-module module-null-sink sink_name=test
24
Dans l'exemple ci-dessus, le serveur Pulseaudio a chargé le module avec l'identifiant d'index 24
. Ce module peut être déchargé avec la commande suivante :
pactl unload-module 24
Votre script devra analyser la sortie de pactl
.
Si nous ne connaissons pas le numéro du module, nous pouvons émettre la commande suivante qui affichera le numéro et le nom du module :
pactl list short modules
Les versions plus récentes permettent également le déchargement par nom :
pactl unload-module <name>
La méthode rapide et sale
Si pulseaudio est configuré en tant que démon à apparition automatique (ce qui devrait être le comportement par défaut), nous pouvons décharger rapidement tous les modules chargés après la connexion avec une réinitialisation du serveur PulseAudio pour charger les modules par défaut définis dans notre default.pa
en lançant :
pulseaudio -k
Cela déchargera efficacement tous les modules de votre script et chargera le récepteur par défaut pour la sortie.