我已经在 Ubuntu 服务器上设置了 pulseaudio 来接收 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.
而是。其他两个条目看起来相同。
答案1
这里也一样。但在我的例子中,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
根据它,您应该禁用 IPv6avahi-daemon
并重新启动它。这对我有用。