我正在从缓冲区读取 1 通道音频数据并写入 alsa 进行播放。我想在写入设备之前将 PCM 数据从单声道转换为立体声。这是由某些 ALSA 配置自动处理的吗?文件asound.conf
:
type asym
playback.pcm {
type plug
slave.pcm {
type dmix
ipc_key 5978293 # must be unique for all dmix plugins!!!!
ipc_key_add_uid yes
slave {
pcm "hw:0,0"
channels 2
format S16_LE
}
bindings {
0 0
1 1
}
}
}
在配置中将通道指定为 2 是否意味着 dmix 插件将处理单声道到立体声的转换?
答案1
不,您需要其他 ALSA 插件来进行任何类型的转换(采样率、通道……)。
或者您可以走简单的路线并使用 Pulseaudio(无论如何,它是当今大多数发行版的一部分):它的主要用途是允许许多应用程序共享声卡、重新采样、在通道之间转换等。这听起来像您想要的做与dmix
.
如果这是一个XY-问题,请用您想要实现的目标编辑问题,而不是您认为需要的(dmix
使用通道绑定)。