访问 PulseAudio 服务器

访问 PulseAudio 服务器

我已经在 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并重新启动它。这对我有用。

相关内容