pulseaudio:通过网络在多台计算机上同时播放音频

pulseaudio:通过网络在多台计算机上同时播放音频

我在同一网络上有两台计算机,两台计算机都连接了扬声器并且正在运行pulseaudio。我怎样才能在其中一个扬声器上播放声音并从两个扬声器中发出声音?我更喜欢通过 CLI/配置文件而不是 GUI 工具来设置。

答案1

启用网络输出

在两台机器上安装pulseaudio-zeroconf.

在源计算机上,编辑/etc/pulse/default.pa以包含

load-module module-native-protocol-tcp
load-module module-zeroconf-discover

在目标计算机上,编辑/etc/pulse/default.pa以包含

load-module module-native-protocol-tcp
load-module module-zeroconf-publish

从一台机器复制$HOME/.config/pulse/cookie到另一台机器,因此它们都具有相同的内容。

在两台机器上重新启动pulseaudio

systemctl --user restart pulseaudio.service

在源机器上,运行

pacmd list-sinks

您应该会看到几个名称以 开头的接收器tunnel.{destination_machine_hostname}.{remote_sink_name}。向他们播放音频应该在另一台计算机上播放。

启用组合输出

从您刚刚创建的接收器列表中,选择要播放音频的本地接收器和远程接收器。请注意name(尖括号内)。

从源计算机运行

pactl load-module module-combine-sink sink_name=combined slaves={local_sink_name},tunnel.{destination_machine_hostname}.{remote_sink_name}

(您可以将其编辑为不带default.pa自动pactl创建组合水槽的功能)

向该组合接收器播放声音现在应该在两台计算机上的选定设备上播放。

相关内容