Я настроил pulseaudio на своем сервере Ubuntu для получения tcp потоков, любят предложенный в pulseaudio документации и многих учебных руководствах. Мой /etc/pulse/default.pa
теперь содержит эти строки:
load-module module-esound-protocol-tcp auth-anonymous=1
load-module module-native-protocol-tcp
load-module module-zeroconf-publish
Я перезапустил демона, использующего
pulseaudio -k
pulseaudio -D
От моего понимания я должен теперь смочь использовать сервер в качестве приемника от моего клиента. Идеально я хотел бы выбрать устройство вывода с Регулятором громкости PulseAudio, но заставить это работать вообще. Я попытался установить PULSE_SERVER
для указания на мой сервер, но я получаю ошибки воспроизведения.
Кто-либо может сказать мне, если моя конфигурация сервера является правильной и как настроить клиент (13.04)?
Обновление
Я наконец узнал, что должен загрузить модуль module-zeroconf-discover
на клиенте. Если я теперь перезапускаю демона на клиенте, сервер обнаружен, но приемник не может быть создан. /var/log/syslog
говорит это:
pulseaudio[4877]: [pulseaudio] module-tunnel.c: Failed to create sink.
pulseaudio[4877]: [pulseaudio] module.c: Failed to load module "module-tunnel-sink" (argument: "server=[192.168.1.2]:4713 sink=auto_null format=s16le channels=2 rate=44100 sink_name=tunnel.myserver.local.auto_null channel_map=front-left,front-right"): initialization failed.
pulseaudio[4877]: [pulseaudio] module-tunnel.c: Failed to authenticate
Я не вполне добираюсь, как это может не пройти проверку подлинности, если анонимный вход в систему позволяется.
Обновление
Ошибка аутентификации, кажется, происходит случайным образом. Если не кажется, что соответствующая запись в журнале
[pulseaudio] module-tunnel.c: Stream died.
вместо этого. Другие две записи выглядят одинаково.
То же самое здесь. Но в моем случае pulseaudio обнаруживает удаленный источник, но не приемник. Однако в обоих журналах есть типичные сообщения об ошибках.
Еще одна вещь, которую стоит упомянуть, это то, что сообщение об ошибке module-tunnel-source
отличается от сообщения об module-tunnel-sink
.
Второй имеет аргумент адреса сервера, записанный в форме IPv4 (192.168.0.x
), в то время как первый упоминает адрес в форме IPv6. Не знаю, почему есть такая разница, но она сохраняется все время, и каким-то образом module-tunnel-source
загружается с IPv6-адресом, а приемник - нет.
Может быть, это просто ошибка, и мы должны подумать, как правильно составить отчет об ошибке.
РЕДАКТИРОВАТЬ :
Я думаю, что уже нашел решение:
http://lists.freedesktop.org/archives/pulseaudio-bugs /2009-October/003348.html
В соответствии с этим вы должны отключить IPv6 в avahi-daemon
и перезапустить его. Это сработало для меня.