PulseAudio 中的模块重映射源和模块虚拟源有什么区别



如果我运行以下命令,我会得到一个"虚拟麦克风";它连接到一个名为";麦克风输出";。如果我将数据发送到";"麦克风输出";,该数据随后被发送到虚拟麦克风。

pactl load-module module-null-sink sink_name=MicOutput sink_properties=device.description="MicOutput"
pacmd load-module module-virtual-source source_name=VirtualMic master=MicOutput.monitor

如果我将第二行替换为:,我可以得到类似的行为

pactl load-module module-remap-source source_name=Remap-Source master=MicOutput.monitor

我看到的主要区别是延迟更低。

但有什么区别呢?我什么时候想用一个,还是另一个?

到目前为止我的研究

我看到这两个文件:

  • https://fossies.org/linux/pulseaudio/src/modules/module-remap-source.c(2013年增加(
  • https://fossies.org/linux/pulseaudio/src/modules/module-virtual-source.c(2010年增加(

也许如果我仔细看代码,我就能理解答案。我想知道是否有人知道答案?

通常不使用
  • 模块虚拟源。这是一个";过滤源";应予以实施
  • 模块重映射源的开销要小得多

来源:我问了PulseAudio团队。https://lists.freedesktop.org/archives/pulseaudio-discuss/2022-April/032260.html

最新更新