下面的例子演示了如何创建一个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