通过两个或更多输出/设备播放声音

通过两个或更多输出/设备播放声音

我有一张声卡和一副蓝牙耳机。我想通过声卡和蓝牙耳机播放音频。

我相信 Windows 有复选框允许您“检查”输出以启用/禁用它们,但 Ubuntu 似乎具有相当于单选选择器的功能(您一次只能选择一个)。

附加问题:同样,我的声卡上有 5 个模拟输出通道(除了数字和 HDMI 音频)——我希望能够确定每个端口输出的内容(例如,所有 5 个端口上的“前置扬声器”或“前置”、“中置”、“后置”等)。

答案1

paprefs您可以访问虚拟输出设备,该设备可以同时向所有连接的声卡和设备进行输出:

sudo apt install paprefs

然后在终端运行中paprefs选择同时输出标签,然后检查添加虚拟输出,用于所有本地声卡同时输出

帕普雷夫

可以在输出PulseAudio 中的选项卡声音偏好设置菜单 (pavucontrol):

pavucontrol 截图

在此示例中,它显示为 HDMI 设备,但是,一旦识别出您的蓝牙设备,它也可用于同时输出。

这些更改可能需要重新启动 PulseAudio 才能生效,您可以通过注销并重新登录会话或pulseaudio -k在终端中运行来执行此操作。


如果paprefs没有完成这项工作或者您不想paprefs安装,请在命令行中使用此命令:

pactl load-module module-combine-sink

要从命令行卸载模块并将 PulseAudio 重置为默认值,只需使用以下命令重新启动 PulseAudio:

pulseaudio -k

或问题:

pactl unload-module module-combine-sink

答案2

Ubuntu

我刚刚确认该解决方案仍然适用于 Ubuntu 14.04 LTS。

  1. 安装:打开终端并输入sudo apt install paprefs按照上图所示转到选项卡并选择选项。
  2. 初次运行
    1. 在终端中输入pulseaudio -kkill 并重新启动 pulseaudio (这边走与当前 systemd pulseaudio 用户服务)。
    2. 然后转到声音设置,您将看到输出到多个声音设备的选项。
    3. 向编写 paprefs 的人致敬,这是一个非常棒的小软件,我实际上希望它包含在 Ubuntu 中而不需要额外的安装。

苹果 Mac OS X

通过附带的软件可以使用类似的解决方案,而最棒的pulseaudio是,两个输出的声音似乎完全同步,因此它必须调整延迟,这就是它如此令人印象深刻的原因;否则,我们会从一个输出和另一个输出听到稍微延迟的版本。

答案3

在 Kubuntu 18.04 中,paprefs不需要 Plasma 5.12,因为已经存在类似的设置:

在此处输入图片描述

重启后应该会出现一个新的输出选项,称为“同时输出”。

在此处输入图片描述

或者pavucontrol

在此处输入图片描述


在 Plasma 5.13.5 18.10 中,“同时输出”选项已被删除,因此paprefs是需要的。

答案4

因为LeonidMew询问的是 18.04 (我正在使用18.04.2),所以我的版本是。

GUI尝试将一个 HDMI 与一个模拟输出相结合,而不是同时结合两个 HDMI。因此,我按照以下描述paprefs编辑了文件/etc/pulse/default.paLéo Léopold Hertz

$ gedit /etc/pulse/default.pa  # make changes as in method a or b below
$ pulseaudio -k # then restart pulseaudio

以下两种方法都可以单独使用,因此请选择其中一种(确保将这些行添加到文件顶部,我把它放在后面.fail!否则它不起作用)。

方法 A

load-module module-alsa-sink device=hw:0,0
load-module module-combine-sink sink_name=combined

方法 B

load-module module-alsa-sink device=hw:1,3 sink_name=hdmi
load-module module-alsa-sink device=hw:1,7 sink_name=hdmi2
load-module module-combine-sink sink_name=combined slaves=hdmi,hdmi2
set-default-sink hdmi-combined

参考

方法 A

作为参考,hw:0,0来自aplay -l

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

方法 B

并且1:71:3来自

$ pacmd list-sinks | grep -e 'name:' -e 'alsa.device ' -e 'alsa.subdevice '
    name: <alsa_output.pci-0000_00_1b.0.iec958-stereo>
        alsa.subdevice = "0"
        alsa.device = "1"
    name: <alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1>
        alsa.subdevice = "0"
        alsa.device = "7"

在 GNOME 的“声音设置”中,我将第二台显示器的另一个 HDMI 设置为输出,然后重新运行命令

$ pacmd list-sinks | grep -e 'name:' -e 'alsa.device ' -e 'alsa.subdevice '
    name: <alsa_output.pci-0000_00_1b.0.iec958-stereo>
        alsa.subdevice = "0"
        alsa.device = "1"
    name: <alsa_output.pci-0000_01_00.1.hdmi-stereo>
        alsa.subdevice = "0"
        alsa.device = "3"

为了验证这些数字是否正确,我运行了

$ aplay -D plughw:1,3 /usr/share/sounds/alsa/Front_Right.wav
$ aplay -D plughw:1,7 /usr/share/sounds/alsa/Front_Right.wav

这声音在各自的监视器上响起。

相关内容