我们想使用 .asoundrc mulit pcm 合并两个 alsa 环回,我们遵循了ALSA 项目 - C 库参考
alsa 环回实体是使用以下命令创建的:
sudo modprobe snd-aloop 启用=1,1 索引=10,11
.asoundrc 是:
pcm.quad { 类型多
slaves.a.pcm "hw:10,0" slaves.a.channels 16 slaves.b.pcm "hw:11,0" slaves.b.channels 16 bindings.0.slave a bindings.0.channel 0 bindings.1.slave a bindings.1.channel 1 bindings.2.slave a bindings.2.channel 2 bindings.3.slave a bindings.3.channel 3 ... bindings.14.channel 14 bindings.15.slave a bindings.15.channel 15 bindings.16.slave b bindings.16.channel 0 ... bindings.31.slave b bindings.31.channel 15 hint.description "Composite multi stream" }
ctl.quad { 输入硬件卡 0 }
当发出以下记录命令时:
arecord -Dquad -f S24_LE -d 15 记录.wav
输出是:
录制 WAVE 'recorded.wav':签名 24 位 Little Endian,速率 8000 Hz,单声道 arecord:set_params:1339:此 PCM 的配置损坏:无可用配置
如果我们直接从环回实例记录使用-d 硬件:10,0效果很好。我们只是无法使用多流。