我有一块带有 AES/EBU 输入端口的声卡,我想同时使用两个应用程序访问它。我想实时将输入录制到线性 WAV 文件中,同时通过 IceCast 进行流式传输。如果我天真地尝试使用两个应用程序访问同一个输入设备,系统会告诉我无法访问该设备。我该如何设置 ALSA 来实现这一点?还是我必须通过某个外部程序进行中继,从而导致延迟?
答案1
您可以使用dsnoop
插件将样本数据复制到多个虚拟捕获设备。
将类似的内容放入您的~/.asoundrc
或中/etc/asound.conf
,并snooped_digital
在两个应用程序中用作设备名称:
pcm.snooped_digital {
type dsnoop
slave {
pcm "hw:2,1" # the actual device
channels 2
rate 48000
}
}