集中式PulseAudio设置


10

我想进行设置,以便所有计算机和电视都使用一个音频系统。像这样:

在此处输入图片说明

媒体服务器连接到音响系统,电视通过声卡输入连接,而其他系统则使用PulseAudio通过网络访问音响系统。这种设置可行吗?

Answers:


6

部分地–使用Linux客户端容易,而使用Windows则棘手。


对于Linux客户端,这很简单–只需将其设置$PULSE_SERVER为媒体服务器的地址并复制~/.pulse_cookie身份验证文件即可。

PULSE_SERVER=tcp:mediaserver.home tcp6:mediaserver.home

当然,请确保媒体服务器上的PulseAudio已加载所需的模块;否则,请确保已加载。可以通过启用它们中的大多数,也可以paprefs通过~/.pulse/default.pa在媒体服务器上加载它们:

.include /etc/pulse/default.pa
# required:
load-module module-native-protocol-tcp
load-module module-simple-protocol-tcp
# needed if you use WinESD:
load-module module-esound-protocol-tcp
# optional, might be useful if you use Avahi:
load-module module-zeroconf-publish

尽管可以使用非常老的 WinESD驱动程序和Pulse的ESounD兼容性模块或本博客文章中linco描述的工具,但Windows还没有适用于Windows的PulseAudio客户端。这里是一个简化的版本,从腻子到位的Cygwin:plink

linco -B 16 -C 2 -R 44100 | plink  user @ mediaserver “ pacat --playback”

如果使用iTunes,则可以在媒体服务器上运行Shairport,这会使它作为AirPort在iTunes上显示。

(实际上,将Shairport与PulseAudio客户端(通过module-raop-discover+ module-raop-sink)一起使用可能比未压缩的Pulse协议使用更少的带宽,但是不幸的是,存在一些不兼容性,导致此功能无法正常工作。)


1
我知道,Linux可以做到这一点,而我主要关心的是Windows。感谢您的建议,我会尝试的。
evgeniuz 2012年

@Shark:我也发现这篇文章建议使用linco。看到我更新的帖子。
user1686

实际上,现在已经有相当长一段时间了Windows Pulseaudio客户端/服务器。只需下载它并运行pulseaudio.exe,然后设置PULSE_SERVER = ipaddress-of-windows。就个人而言,我正在寻找如何永久设置此设置。
airtonix 2014年

@airtonix:比1.1更新的版本?
user1686 2014年

1
@grawity不,那是我使用的版本。在我的ubuntu 13.10桌面上,我只是编辑/etc/pulse/client.conf,取消注释default-server,将其设置为Windows笔记本电脑的IP地址,然后pulseaudio.exe在Windows笔记本电脑上启动。有了协同作用,最终效果会非常好。
airtonix 2014年

3
  1. http://www.freedesktop.org/wiki/Software/PulseAudio/Ports/Windows/Support/下载最新的脉冲音频版本(在撰写本文时,最新版本为v1.1)。
  2. 打开包装到想要的地方。例:c:\pulse\
  3. 打开 c:\pulse\etc\default.pa
  4. 确保您有类似以下内容:
    • load-module module-native-protocol-tcp listen=0.0.0.0 auth-anonymous=1
    • set-default-sink output
  5. 在Linux机器上,打开/etc/pulse/client.conf(您可以使用进行相同的操作~/.pulse/client.conf),确保default-server未添加注释,并将其设置为Windows机器的IP地址(您要在其上接收音频的机器)
  6. 在linux机器上重新启动pulseaudio,ubuntu : pulseaudio -k,对于其他发行版,我想您会像执行其他操作一样重新启动服务器sudo service pulseaudio restart
  7. 在Windows机器上,启动pulseaudio.exe。这应该打开一个带有一些警告的简单终端(从我的经验中不必担心)。
  8. 在Linux机器上,启动可播放声音的内容。

嘿,这listen=127.0.0.1工作与完善load-module module-simple-protocol-tcp ...,在[简单协议播放器](kaytat.com/blog/?page_id=301)所示为获得的声音了一个chroot到Android的通过脉冲魔法 ......下一个是SonicPi在Android移动脚本音乐作品。感谢@airtonix,我的测试将更加安全。
S0AndS0
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.