我有一个带有 AES/EBU 输入端口的声卡,我想同时使用两个应用程序访问它。我想将输入实时记录到线性 WAV 文件中,同时还通过 IceCast 进行流式传输。如果我天真地尝试使用两个应用程序访问同一个输入设备,则有人告诉我它无法访问该设备。我如何设置 ALSA 以实现此目的?或者我是否必须通过一些外部程序来传递它,从而引入延迟?
您可以使用该dsnoop插件将示例数据复制到多个虚拟捕获设备。
将这样的内容放入您的~/.asoundrcor 中/etc/asound.conf,并snooped_digital在两个应用程序中用作设备名称:
pcm.snooped_digital {
type dsnoop
slave {
pcm "hw:2,1" # the actual device
channels 2
rate 48000
}
}
Run Code Online (Sandbox Code Playgroud)