下面的例子演示了如何创建一个TCP的PulseAudio隧道前音从计算机alpha到计算机beta。就我而言,两台计算机都运行Ubuntu 14.04。
在alpha(源计算机)上,将以下行添加到/etc/pulse/default.pa:
.fail
load-module module-tunnel-sink sink_name=beta server=tcp:IP_ADDRESS_OF_BETA:4713
.nofail
(选择的任何唯一值sink_name。我任意选择使用该值beta。)
在beta(目标计算机)上,将以下行添加到/etc/pulse/default.pa:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;LAN_NAME
在上面,LAN_NAME并且IP_ADDRESS_OF_BETA将特定于您的计算机和LAN。例如,它们可能是:
LAN_NAME = 192.168.1.0/24
IP_ADDRESS_OF_BETA = 192.168.1.10
进行上述更改后,请先重新启动pulseaudio beta,然后再重新启动alpha。顺序很重要。我用重新启动pulseaudio pulseaudio --kill。我pulseaudio --kill以个人UID(不是root)身份运行,因为pulseaudio已经以个人身份运行UID。
如果一切顺利,您现在应该在on的Output Devices选项卡pavucontrol上看到隧道alpha。播放音频源时,您应该能够在on Playback选项卡pavucontrol上将源路由到隧道alpha。
只要隧道完好无损,您也应该可以在的Playback标签pavucontrol上看到隧道beta。如果隧道消失,请先重新启动pulseaudio beta,然后再重新启动alpha。仅在pulseaudio开始时创建隧道alpha。
注意1:本示例假定PulseAudio在alpha和上都运行beta。截至2016年,pulseaudio默认在Ubuntu上运行,并且已经运行了多年。
注意2:此示例未使用Avahi零配置网络。默认情况下,可以在Ubuntu上启用Avahi,但是我已在系统上禁用了Avahi。在我的LAN上,beta(目标计算机)始终具有相同的IP地址,我知道该地址。
注3:以上内容auth-ip-acl授予对LAN上任何设备的访问权限。Pulseaudio还支持其他(更安全的)身份验证方法。我auth-ip-acl用来简化配置。
可以在以下页面找到更多信息:
/raspberrypi/8621/how-to-set-up-a-pulseaudio-sink
https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Network/# index2h2
https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#index14h3