.asoundrc 将多个流合并为单个流,合并两个环回 snd-aloop(虚拟声卡)

.asoundrc 将多个流合并为单个流,合并两个环回 snd-aloop(虚拟声卡)

我们想使用 .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效果很好。我们只是无法使用多流。

相关内容