我通过本地以太网进行 PulseAudio 流式传输。我从客户端(笔记本电脑)向连接到扬声器的 PulseAudio“服务器”播放声音。两者都运行 PulseAudio 版本 12.2。
当我将客户端从 LAN 上的有线连接切换到 WiFi 时,远程接收器会从可用接收器的下拉列表中消失。我没有找到任何错误消息,但我无法再通过网络播放声音。本地播放仍然可以在客户端上进行。
我的 PulseAudio 客户端和服务器都运行 Arch Linux。
这是我的设置:
客户端和服务器都
安装此软件包并启用 avahi-daemon:
pacman -S pulseaudio-zeroconf
systemctl enable avahi-daemon.service
systemctl start avahi-daemon.service
服务器设置
/etc/pulse/default.pa
并添加这些行:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24
load-module module-zeroconf-publish
客户端设置
/etc/pulse/default.pa
并添加这些行:
load-module module-native-protocol-tcp
load-module module-zeroconf-discover
我将 ~/.config/pulse/cookie 复制到所有设备
这似乎不是授权问题,因为如果我paprefs
在终端中打开并选中允许匿名客户端,它不会解决问题。
通过有线电缆连接时的客户端 IP 地址为 192.168.0.5。在 WiFi 上,它是 192.168.0.6。
当客户端通过有线电缆连接时,它完全按照预期工作,但当客户端使用 WiFi 时,它不起作用。服务器(直接连接到扬声器的计算机)始终是有线的。
我不知道下一步该去哪里寻找有关解决此问题的信息。
答案1
当从一个网络接口切换到另一个网络接口时,我需要运行以下命令:
sudo systemctl restart avahi-daemon.service
这解决了我的问题。 (但是,我不确定这是否是一个错误或功能。我更喜欢 avahi-daemon.service 在新接口上自动加入 mDNS 多播组。)
更新:我发现在一段时间不活动后我必须运行相同的重新启动命令;这可能与网络组件的电源管理有关。