我有 2 个声卡,我想让播放的声音在两个声卡上都播放。我知道如何通过 GUI 执行此操作(通过两个或更多输出/设备播放声音),但我的情况有所不同:
- 我不用pulseaudio,直接用alsa
- 我想使用命令行
有什么想法吗?谢谢!
答案1
您可以在您的~/.asoundrc
或在中定义一个新设备/etc/asound.conf
:
pcm.both {
type plug
slave.pcm {
type multi
slaves.a {
pcm "hw:0" # or whatever
channels 2
}
slaves.b {
pcm "hw:1" # ...
channels 2
}
bindings [
{ slave a channel 0 }
{ slave a channel 1 }
{ slave b channel 0 }
{ slave b channel 1 }
]
}
ttable [
[ 1 0 1 0 ]
[ 0 1 0 1 ]
]
}
然后使用both
设备名称:aplay -D both something.wav
。
如果这些设备的时钟速度不完全匹配,multi
插件最终将超出/低于设备的某个缓冲区(PulseAudio 将能够动态重新采样)。