Выход звука из приложения маршрутизации на несколько воспроизводящих устройств

В моем конкретном случае я смог достичь своей цели, изменив подоболочку в test.sh на групповую команду.

(for i in {1..100}; do echo $i; sleep 1; done) &

стал

{ for i in {1..100}; do echo $i; sleep 1; done; } &

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

4
24.07.2018, 03:56
1 ответ

Если вы все равно используете Pulseaudio, взгляните на модули Pulseaudio , в частности module-loopbackи module-null-sink. По моему опыту, snd-aloopнемного неудобно использовать, и, поскольку Pulseaudio в основном имеет дело с передачей звукового потока, в Pulseaudio это намного проще.

Таким образом, если вариант использования — «записывать выходные данные одного приложения в фоновом режиме, тем временем использовать громкоговорители для других вещей, время от времени прослушивать приложение», я бы создал нулевой приемник с соответствующим названием, подключил приложение к это сpavucontrol(это будет запомнено Pulseaudio ), запись из monitorисточника этого приемника (снова, это будет запомнено, при необходимости с параметрами командной строки для записывающего приложения, чтобы установить имя приложения для Pulseaudio ). Если вы хотите послушать, сделайте петлевое соединение от источника монитора до вашего приемника громкоговорителя. Или сделайте эту петлю постоянной и отключайте/включайте ее по мере необходимости.

Вы можете использовать pacmdили pactl, чтобы попробовать все это в командной строке. С помощью тех же команд вы также можете написать свои ярлыки. Сделайте его постоянным, используя сценарии запуска Pulseaudio.

Что-то вроде

pactl load-module module-null-sink sink_name=recsink
pactl load-module module-loopback source=recsink.monitor sink=your_loadspeaker_sink

Используйте pactl list short sinksдля просмотра имен ваших приемников. pactl helpи pacmd helpдля дополнительных команд.

7
27.01.2020, 20:53

Теги

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