我已经在我的 Ubuntu 服务器上设置了pulseaudio 来接收脉冲音频文档和许多教程中建议的 tcp 流。我/etc/pulse/default.pa
现在包含这些行:
load-module module-esound-protocol-tcp auth-anonymous=1
load-module module-native-protocol-tcp
load-module module-zeroconf-publish
Run Code Online (Sandbox Code Playgroud)
我已经使用重新启动了守护进程
pulseaudio -k
pulseaudio -D
Run Code Online (Sandbox Code Playgroud)
根据我的理解,我现在应该可以将服务器用作客户端的接收器。理想情况下,我想选择带有 PulseAudio Volume Control 的输出设备,但要让它工作。我尝试设置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
Run Code Online (Sandbox Code Playgroud)
我不太明白如果允许匿名登录,它是如何无法进行身份验证的。
更新
身份验证失败似乎是随机发生的。如果没有出现,相关的日志条目是
[pulseaudio] module-tunnel.c: Stream died.
Run Code Online (Sandbox Code Playgroud)
反而。其他两个条目看起来相同。
小智 4
和这里一样。但就我而言,pulseaudio 发现了远程源,但没有发现接收器。但是,日志中都有它们的典型错误消息。
另一件需要提及的是失败消息 aboutmodule-tunnel-source
与 about 的消息不同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
并重新启动它。这对我有用。