如何使用 ALSA 和/或 Pulse“发布”音频源以供其他程序使用?

如何使用 ALSA 和/或 Pulse“发布”音频源以供其他程序使用?

我想创建一个动态命名的音频源,然后可以由系统上的其他程序引用。例如这样的事情:

gst-launch-1.0 audiotestsrc ! alsapubsink name='Test Source'

然后我会在其他程序中引用它,例如:

gst-launch-1.0 alsasrc device='Test Source' ! ... ! autoaudiosink

当然没有alsapubsink元素。有没有办法使用 ALSA 或 Pulse 或者我不知道的其他工具来完成这类事情?

答案1

在 Pulseaudio 中:制作一个“空”接收器

pacmd load-module module-null-sink sink_name=public-sink-1 sink_properties=device.description=Public-Sink-1

然后使用pavucontrol命令行选项或应用程序菜单选项(如果可用)将您想要“引用”到此接收器的所有声音输出重定向。

每个 Pulseaudio 接收器都有一个关联的.monitor源,因此其他应用程序可以以正常方式记录或处理来自该关联源的音频(即,选择源等pavucontrol)。

相关内容