如何实现同时输出到多个音频设备?

如何实现同时输出到多个音频设备?

我正在尝试使用 KDE 在 Arch Linux 上将同步音频输出配置到两个或多个连接的设备。

我尝试过安装 paprefs。这不起作用,因为应该镜像到所有连接的音频设备的音频设备没有显示在系统声音面板中。

我也尝试过遵循这一页并用于pacmd module-combine-sink创建扬声器和耳机的组合接收器。接收器已创建,但我无法将其设置为默认值。它不会显示在系统音频面板中,并且任何将其设置为默认值的尝试都不起作用。

如果我在 中运行接收器创建命令pactl,我会得到Failure: Input/Output Error

我尝试过使用模拟或数字耳机,但都不起作用。

我到底做错了什么?有没有更简单的软件替代方案?

答案1

该命令pactl load-module module-combine-sink对我有用。请参阅随附的屏幕截图 - 音频正在所有输出设备上播放。

它不会显示在系统音频面板中,并且任何将其设置为默认值的尝试都不起作用。

它是虚拟的设备,确保它们可见:

PulseAudio/PipeWire 的组合虚拟输出设备

如果您对 PipeWire 配置感到困惑,可以通过以下方式重新启动它:

systemctl --user restart pipewire-pulse.socket pipewire-pulse.service pipewire.service wireplumber.service或者简单地重新启动。

答案2

如果您想在两台设备上同时输出,可以执行以下操作:

  1. 使用pavucontrol或类似工具将默认音频输出设置到您的设备 #1。
  2. 运行 arecord --buffer-time=1 - | aplay --buffer-time=1 -以创建一个进程,将其音频输入上的所有内容重播到音频输出。
  3. 使用pavucontrol或类似工具将此过程的输入设置为“设备 #1 的监视器”
  4. 将此过程的输出设置为设备 #2。

此解决方案的缺点是有时可能会在设备 #2 上获得较差的音频质量。

相关内容