合并多個(gè)ArrayBuffer場(chǎng)景及方法示例
需求場(chǎng)景
小程序通過(guò)socket傳輸?shù)匿浺?Buffer數(shù)據(jù),想拿到最終的完整的或者片段合并buffer,生成pcm音頻文件。
mergeArrayBuffers(arrayBuffers) {
// 計(jì)算新的ArrayBuffer的總長(zhǎng)度
let totalLength = 0;
for (const buffer of arrayBuffers) {
totalLength += buffer.byteLength;
}
// 創(chuàng)建一個(gè)新的ArrayBuffer
const mergedBuffer = new ArrayBuffer(totalLength);
// 創(chuàng)建一個(gè)Uint8Array以便操作新的ArrayBuffer
const uint8Array = new Uint8Array(mergedBuffer);
let offset = 0;
// 逐個(gè)復(fù)制ArrayBuffer到新的ArrayBuffer中
for (const buffer of arrayBuffers) {
const sourceArray = new Uint8Array(buffer);
uint8Array.set(sourceArray, offset);
offset += sourceArray.length;
}
return mergedBuffer;
}以上就是合并多個(gè)ArrayBuffer方法示例的詳細(xì)內(nèi)容,更多關(guān)于合并多個(gè)ArrayBuffe的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
JavaScript點(diǎn)擊按鈕生成4位隨機(jī)驗(yàn)證碼
這篇文章主要為大家詳細(xì)介紹了JavaScript點(diǎn)擊按鈕生成4位隨機(jī)驗(yàn)證碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-01-01
一個(gè)css與js結(jié)合的下拉菜單支持主流瀏覽器
這是一個(gè)css和js結(jié)合的下拉菜單,經(jīng)測(cè)試支持主流瀏覽器,比較適合企業(yè)站,需要的朋友可以參考下2014-10-10
實(shí)現(xiàn)js保留小數(shù)點(diǎn)后N位的代碼
最近在做項(xiàng)目的時(shí)候,遇到要保留小數(shù)點(diǎn)后N位的問(wèn)題,經(jīng)過(guò)一番思索,最終完成了,這里記錄一下,下次需要直接就能拉出來(lái)用了2014-11-11
JavaScript對(duì)象數(shù)組排序函數(shù)及六個(gè)用法
本文給大家分享一個(gè)用于數(shù)組或者對(duì)象的排序的函數(shù)。該函數(shù)可以以任意深度的數(shù)組或者對(duì)象的值作為排序基數(shù)對(duì)數(shù)組或的元素進(jìn)行排序2015-12-12
JS實(shí)現(xiàn)表單驗(yàn)證功能(驗(yàn)證手機(jī)號(hào)是否存在,驗(yàn)證碼倒計(jì)時(shí))
js實(shí)現(xiàn)表單驗(yàn)證功能,通過(guò)js代碼驗(yàn)證手機(jī)號(hào)是否存在驗(yàn)證碼倒計(jì)時(shí)功能,代碼簡(jiǎn)單易懂非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-10-10
JavaScript實(shí)現(xiàn)數(shù)組對(duì)象轉(zhuǎn)換為鍵值對(duì)的四種方式
本文探討了將包含 {icon: "abc", url: "123"} 形式對(duì)象的數(shù)組轉(zhuǎn)換為鍵值對(duì)形式的四種方法,并從實(shí)現(xiàn)方式的簡(jiǎn)潔性、可讀性和性能角度進(jìn)行了分析比較,感興趣的朋友可以參考下2024-02-02

