管道系统声音传输到另一台计算机

管道系统声音传输到另一台计算机

我的 PC(Cent-OS 5.5)上没有扬声器,但我的计算机(Cent-OS 5.5)旁边的计算机上连接了一个立体声扬声器。两台计算机都联网了。有没有办法将我的系统声音传输到那台计算机的扬声器上?

答案1

脉冲音频可以通过网络使用。

我通常建议使用 Avahi 启用自动发现(除非你非常害怕 IP 多播)– 优点是你可以同时使用本地网络音频设备,而不必对某个特定服务器进行硬编码。尽管这不适用于@Bijoy 的问题,但它可能适用于许多其他读者。

笔记关于文件路径:

  • 较新的 PulseAudio 版本 ≥ v2.99.1 将用户配置~/.config/pulse/default.pa和身份验证 cookie 放入其中~/.config/pulse/cookie

  • 旧版本 ≤ v2.98 分别使用~/.pulse/default.pa~/.pulse-cookie。如果您有这样的旧版本,请在阅读说明时记住这一点。

方法一、使用 Avahi 自动发现具有任意数量的服务器(包括本地设备):

  1. 在两台计算机上启动 Avahi 守护程序。

  2. 在计算机 B 上,启用传入网络访问:

    • 通过paprefs网络服务器启用本地设备的网络访问

    • 或者,通过编辑~/.config/pulse/default.pa

      .include /etc/pulse/default.pa
      
      load-module module-native-protocol-tcp
      load-module module-zeroconf-publish
      

      不要忘记重新启动pulseaudio以使其重新读取配置(或使用 手动加载两个模块pactl load-module)。

  3. 在计算机 A 上,启用发现:

    • 通过paprefs网络访问使可发现的 PulseAudio 设备可用

    • 或者,通过编辑~/.config/pulse/default.pa

      .include /etc/pulse/default.pa
      
      load-module module-zeroconf-discover
      

      不要忘记重新启动pulseaudio以使其重新读取配置(或使用 手动加载模块pactl load-module)。

  4. 在计算机 A 上,您现在应该可以看到计算机 B 的声音设备列在本地设备旁边(例如在pavucontrolGNOME 的声音设置中)。

方法二、一台服务器手动配置:

  1. 在计算机 B 上,启用传入网络访问:

    • 通过paprefs网络服务器启用本地设备的网络访问

    • 或者,通过编辑~/.config/pulse/default.pa

      .include /etc/pulse/default.pa
      
      load-module module-native-protocol-tcp
      

      不要忘记重新启动pulseaudio以使其重新读取配置(或使用 手动加载模块pactl load-module)。

  2. 从计算机B复制~/.config/pulse/cookie到计算机A。

  3. 在计算机 A 上,告诉 PulseAudio 使用远程服务器:

    • 编辑~/.profile或等效的启动脚本以添加:

      export PULSE_SERVER="tcp:computer-b-address"
      
      test "$DISPLAY" && pax11publish -e || true
      
    • 注销并重新登录,并确保至少有一个 printenv PULSE_SERVERpax11publish显示计算机B的地址。

  4. 在计算机 A 上,您现在应该可以看到列出的 B 的声音设备(例如pavucontrol在 GNOME 的声音设置中)。


笔记关于不支持 PulseAudio 的程序:不支持的程序可以通过 进行配置,以使用 PulseAudio-ALSA 兼容层/etc/asound.conf。以下示例取自pulseaudio-alsaArch Linux 中的软件包:

pcm.!default {
  type pulse
  fallback "sysdefault"
  hint {
    show on
    description "Default ALSA Output (currently PulseAudio Sound Server)"
  }
}
ctl.!default {
  type pulse
  fallback "sysdefault"
}

答案2

嗯...我首先想到的是允许声音的 VNC 版本。并不是每个安装都允许声音。因此,我启动了一个VNC 比较页面

仔细查看,有许多基于 VNC 的安装不仅可以在 Linux 上使用,而且支持声音。所以,这就是一种方法。在计算机上安装服务器,在带有扬声器的计算机上安装客户端,启用多用户会话,这样您就不会断开连接,并且可以将声音传输到该计算机。

否则,您可以尝试网络音频系统这是我在去年问过的一个类似问题中得到的答案通过另一台计算机的扬声器播放一台计算机的系统声音?

答案3

我认为最好为你的整个音乐收藏设置 Samba 共享,然后在第二台机器上使用你选择的播放器访问它。我相信它会比 VNC 更好(我认为 VNC 声音不是立体声)

相关内容