PulseAudio可以通过网络使用。
我通常建议使用 Avahi 启用自动发现(除非您非常害怕 IP 多播) ——优点是您将能够使用本地和网络音频设备,而不必对一个特定的服务器进行硬编码。尽管这不适用于@Bijoy 的问题,但它可能适用于许多其他读者。
关于文件路径的注意事项:
较新的 PulseAudio 版本?v2.99.1 将用户配置放入 .auth ~/.config/pulse/default.pacookie 中~/.config/pulse/cookie。
旧版本?v2.98分别使用~/.pulse/default.pa和~/.pulse-cookie。如果您有这么旧的版本,请在阅读说明时记住这一点。
方法 1,使用 Avahi与任意数量的服务器(包括本地设备)自动发现:
在两台计算机上,启动 Avahi 守护进程。
在计算机 B 上,启用传入网络访问:
通过paprefs? 网络服务器? 启用对本地设备的网络访问
或者,通过编辑~/.config/pulse/default.pa:
.include /etc/pulse/default.pa
load-module module-native-protocol-tcp
load-module module-zeroconf-publish
Run Code Online (Sandbox Code Playgroud)
不要忘记重新启动pulseaudio以使其重新读取配置(或使用 手动加载两个模块pactl load-module)。
在计算机 A 上,启用发现:
通过paprefs? 网络访问? 使可发现的 PulseAudio 设备可用
或者,通过编辑~/.config/pulse/default.pa:
.include /etc/pulse/default.pa
load-module module-zeroconf-discover
Run Code Online (Sandbox Code Playgroud)
不要忘记重新启动pulseaudio以使其重新读取配置(或使用 手动加载模块pactl load-module)。
在计算机 A 上,您现在应该看到本地设备旁边列出了 B 的声音设备(例如,pavucontrol在 GNOME 的声音设置中或中)。
方法二、手动配置一台服务器:
在计算机 B 上,启用传入网络访问:
通过paprefs? 网络服务器? 启用对本地设备的网络访问
或者,通过编辑~/.config/pulse/default.pa:
.include /etc/pulse/default.pa
load-module module-native-protocol-tcp
Run Code Online (Sandbox Code Playgroud)
不要忘记重新启动pulseaudio以使其重新读取配置(或使用 手动加载模块pactl load-module)。
~/.config/pulse/cookie从计算机 B复制到计算机 A。
在计算机 A 上,告诉 PulseAudio 使用远程服务器:
编辑~/.profile或等效的启动脚本以添加:
export PULSE_SERVER="tcp:computer-b-address"
test "$DISPLAY" && pax11publish -e || true
Run Code Online (Sandbox Code Playgroud)注销,重新登录,确保至少有一个 printenv PULSE_SERVER和pax11publish显示计算机 B 的地址。
在计算机 A 上,您现在应该看到列出的 B 的声音设备(例如pavucontrol在 GNOME 的声音设置中或中)。
请注意本机不支持 PulseAudio 的程序:那些不支持的程序可以配置为通过/etc/asound.conf. 以下示例取自Arch Linux 中的pulseaudio-alsa包:
pcm.!default {
type pulse
fallback "sysdefault"
hint {
show on
description "Default ALSA Output (currently PulseAudio Sound Server)"
}
}
ctl.!default {
type pulse
fallback "sysdefault"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10142 次 |
| 最近记录: |