Автоматическое переключение приемника pulseaudio на удаленный сервер, если доступно

Я хотел бы настроить мой pulseaudio таким образом, чтобы он всегда воспроизводился на удаленном сервере, если он доступен, но беспрепятственно переключался на локальную звуковую систему, если пульт дистанционного управления недоступен. Также, если пульт снова становится avaiale, он должен переключиться обратно.

Это возможно вообще? Туннели выглядят многообещающе, но я не получил его на работу.

Я вижу локальные и удаленные раковины:

isaac@auko:~$ pactl list short sinks
0       alsa_output.pci-0000_00_1b.0.analog-stereo      module-alsa-card.c      s16le 2ch 44100Hz       SUSPENDED
1       tunnel.gaysboard.local.alsa_output.pci-0000_00_1b.0.analog-stereo       module-tunnel.c s16le 2ch 44100Hz        SUSPENDED
2       tunnel.gaysboard.local.alsa_output.pci-0000_00_1b.0.analog-stereo.2     module-tunnel.c s16le 2ch 44100Hz        SUSPENDED

Они также появляются в pavucontrol. Также я не могу выбрать устройство вывода в pavucontrol - у меня сложилось впечатление, что это должно быть возможно. Я прав?

Так как я могу настроить автоматическое переключение? И как выбрать устройство с pavucontrol? (Я могу выбрать его с pax11publish)

2 ответа

Решение

Я возился с решением, предложенным rwx, и наконец решил, что хочу сделать что-то, что немного отличается от моего первоначального вопроса. Я собрал немного псевдо-графического интерфейса, используя zenity, который использует pax11publish изменить настройки по требованию. Я также добавил .desktop файл, так что он может быть вызван непосредственно из среды рабочего стола. Вот ссылка. Я думаю, что для gnome уже есть интегрированное решение, но не для xfce, поэтому я и спросил в первую очередь.

Удаленное воспроизведение с нулями и туннелями все еще глючит. Заикание появится через некоторое время.

Чтобы это исправить, вы можете определить ваш сервер по умолчанию, например, в вашей личной конфигурации (/home/xy/.config/pulse/client.conf), установив default-server = IP,

Если вы хотите, чтобы проверить, доступно ли ваше удаленное устройство, вы можете запустить bash-скрипт, который проверяет, является ли pingable и доступен ли он, затем скопируйте предопределенный_конфиг_файл в вашу папку pulse-config-folder:

if ping -c 1 YOUR_IP &> /dev/null; then notify-send "Changing to remote system" && cp predefined_remote_config_file /home/xy/.config/pulse/client.conf; else notify-send "Changing to local system" && cp predefined_local_config_file /home/xy/.config/pulse/client.conf; fi

Может быть, вам нужно перезапустить pulseaudio, что также может быть сделано скриптом bash

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