我有两个 Float32Array
,其中包含左右声道的原始 pcm 数据。是否可以创建结合两个 channel 的 Float32Array
?如果是这样,我该怎么做?我可以简单地连接数组吗?
干杯!
最佳答案
要将两个 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];
}
}
关于javascript - 如何合并两个 channel 的原始pcm数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56116438/