Pulseaudio loopback разгрузить аудио устройства вывода

Я пытаюсь выяснить, как выгрузить импульсные выходы loopaudio. Я использую pulseaudio для создания петлевого микса, чтобы захватить микрофон и системный звук для потоковой передачи. Каждый раз, когда я запускаю свой скрипт, который имеет этот код:

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

он оставляет два устройства вывода после закрытия. Команда unload-module избавляет от записи, но я не могу найти команду для выходов.

11
задан 4 April 2017 в 11:55

1 ответ

Соответствующий способ разгрузить модули

Разгрузка модуля, загруженного в Импульсное Аудио, сделана индексом модуля, который дан на загрузке:

pactl load-module module-null-sink sink_name=test
24

В вышеупомянутом примере сервер Pulseaudio загрузил модуль индексным идентификатором 24. Этот модуль может быть разгружен со следующей командой:

pactl unload-module 24

Ваш сценарий должен будет проанализировать вывод pactl.

В случае, если мы не знаем число модуля, мы можем дать следующую команду, которая отобразит число и имя модуля:

pactl list short modules

Более новые версии также позволяют разгружаться по имени:

pactl unload-module <name>

Быстрый и грязный метод

Если pulseaudio настраивается как автомечущий икру демон (который должен быть значением по умолчанию begaviour), мы можем быстро разгрузить все модули, загруженные после входа в систему сбросом сервера PulseAudio для загрузки модулей по умолчанию, определенных в нашем default.pa путем выполнения:

pulseaudio -k

Это эффективно разгрузит все модули из Вашего сценария и загрузит приемник по умолчанию для вывода.

16
ответ дан 4 April 2017 в 11:55

Другие вопросы по тегам:

Похожие вопросы: