我有两个Float32Array
,分别包含左右声道的原始pcm数据。是否可以创建结合了两个渠道的Float32Array
?如果是这样,我该怎么做?我可以简单地串联数组吗?
干杯!
答案 0 :(得分:0)
要将两个PCM文件(左右声道)合并为一个,您需要对它们进行交织:
(L,1),(R,1),(L,2),(R,2),...,(L,n),(R,n)
代码看起来像这样:
const interleavedChannelData = new Float32Array(leftChannelData.length + rightChannelData.length);
for (let i = 0; i < interleavedChannelData.length; i += 1) {
if (i % 2 === 0) {
interleavedChannelData[i] = leftChannelData[i / 2];
} else {
interleavedChannelData[i] = rightChannelData[(i - 1) / 2];
}
}