通过多个 USB 设备独立播放音频

通过多个 USB 设备独立播放音频

我需要能够通过多个 USB 耳机播放来自 RasPi 的单个本地音频源。我需要独立控制正在播放的耳机(一次 1 个,一次 2 个,...,一次全部)。

我一直在通过命令提示符使用 PulseAudio,并且能够同时在所有耳机上播放音频,但是我不知道如何在音乐仍在播放时独立打开/关闭耳机。我不完全确定它可能,因此我在这里问。

我的一些想法:(A)为每种耳机打开/关闭情况创建接收器组,并动态更改不同源组的输入(B)同时在所有耳机上播放音频,但将音量调整为 0需要关闭的接收器(耳机)

注意:我见过的许多示例都涉及控制附加到 IP 地址的音乐流。我不想这样做,我希望在 RasPi 上本地保存音频文件。

任何帮助将不胜感激,我对此很陌生。

答案1

如果除了这个单一流之外没有其他音频输出到耳机,您可以module-combine-sink为所有耳机设置一个组合接收器,然后您可以根据需要将耳机接收器本身静音。

列出所有接收器:

pacmd 列表接收器 | grep 名称:

创建一个组合接收器(当然使用您需要的接收器名称而不是示例名称):

pacmd 加载模块模块组合接收器 sink_name=combined sink_properties=device.description="组合接收器" 从属=alsa_output.usb-first-sink.analog-stereo,alsa_output.usb-second-sink.analog-stereo,...

然后在组合接收器上播放流,并静音

pacmd set-sink-mute alsa_output.usb-first-sink.analog-stereo true

或取消静音

pacmd set-sink-mute alsa_output.usb-first-sink.analog-stereo false

按要求。

如果有其他音频输出,我想可以null-sink在组合接收器和每个耳机接收器之间放置一个可变的。

相关内容