需求场景: 小程序通过socket传输的录音 Buffer数据,想拿到最终的完整的或者片段合并buffer,生成pcm
音频文件。
mergeArrayBuffers(arrayBuffers) {
// 计算新的ArrayBuffer的总长度
let totalLength = 0;
for (const buffer of arrayBuffers) {
totalLength += buffer.byteLength;
}
// 创建一个新的ArrayBuffer
const mergedBuffer = new ArrayBuffer(totalLength);
// 创建一个Uint8Array以便操作新的ArrayBuffer
const uint8Array = new Uint8Array(mergedBuffer);
let offset = 0;
// 逐个复制ArrayBuffer到新的ArrayBuffer中
for (const buffer of arrayBuffers) {
const sourceArray = new Uint8Array(buffer);
uint8Array.set(sourceArray, offset);
offset += sourceArray.length;
}
return mergedBuffer;
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。