集中式 PulseAudio 设置

集中式 PulseAudio 设置

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

在此处输入图片描述

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

答案1

部分 – 对于 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

目前还没有适用于 Windows 的 PulseAudio 客户端,不过可以使用很古老 温控器驱动程序和脉冲音色兼容模块,或者linco工具如下所述这篇博文;这是一个简化plink版本油灰代替 Cygwin:

林科-B 16 -C 2 -R 44100 |叮当 用户@媒体服务器“pacat--播放”

如果你使用 iTunes,你可以运行沙尔波特在媒体服务器上,这将使其作为 AirPort 显示于 iTunes 上。

(事实上​​,使用 Shairport 和 PulseAudio 客户端(通过module-raop-discover+ module-raop-sink)可能比未压缩的 Pulse 协议使用更少的带宽,但不幸的是,一些不兼容性阻碍了它的实现。)

答案2

  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 机器上,启动一些可以播放声音的程序。

相关内容