![如何使用 ALSA 和/或 Pulse“发布”音频源以供其他程序使用?](https://linux22.com/image/10524/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20ALSA%20%E5%92%8C%2F%E6%88%96%20Pulse%E2%80%9C%E5%8F%91%E5%B8%83%E2%80%9D%E9%9F%B3%E9%A2%91%E6%BA%90%E4%BB%A5%E4%BE%9B%E5%85%B6%E4%BB%96%E7%A8%8B%E5%BA%8F%E4%BD%BF%E7%94%A8%EF%BC%9F.png)
我想创建一个动态命名的音频源,然后可以由系统上的其他程序引用。例如这样的事情:
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
)。