![将不同卡上的声音路由到单个输出](https://linux22.com/image/1096444/%E5%B0%86%E4%B8%8D%E5%90%8C%E5%8D%A1%E4%B8%8A%E7%9A%84%E5%A3%B0%E9%9F%B3%E8%B7%AF%E7%94%B1%E5%88%B0%E5%8D%95%E4%B8%AA%E8%BE%93%E5%87%BA.png)
我有一个设置,用于监控 3 个不同音频卡上的传入流是否静音。
当我检测到主机上没有声音时,我就切换到辅助卡,如果我检测到辅助卡上没有声音,我就切换到最后一张卡。
我的设置方式是根据活动卡来加载/卸载每张卡的环回模块。
这带来了不便,因为我需要一根 3 合 1 的迷你插孔电缆才能维持流媒体。
我可以加载环回模块并将输出指向单个卡(独立于输入卡)吗?
如何将音频从任意输入路由到单个输出?
答案1
从 0.9.16 版本开始,pulseaudio-module-loopback 分别接受源和接收器的参数。这将是命令行术语:
pactl load-module module-loopback source=<name_or_index> sink=<name_or_index>
通过这种方式,具有给定名称或索引的输入源将循环到具有给定名称或索引的输出接收器。
如果没有给出参数,该模块只会猜测在哪里循环(通常使用我们的默认接收器/源)。
源或汇的索引将分别列出pacmd list-source
。pacmd list-sinks
或者,我们可能希望将正在运行的输入流移动到给定的接收器。请参阅这个答案了解具体操作方法)。