合并多個(gè)ArrayBuffer場(chǎng)景及方法示例
需求場(chǎng)景
小程序通過socket傳輸?shù)匿浺?Buffer數(shù)據(jù),想拿到最終的完整的或者片段合并buffer,生成pcm
音頻文件。
mergeArrayBuffers(arrayBuffers) { // 計(jì)算新的ArrayBuffer的總長度 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位的問題,經(jīng)過一番思索,最終完成了,這里記錄一下,下次需要直接就能拉出來用了2014-11-11JavaScript對(duì)象數(shù)組排序函數(shù)及六個(gè)用法
本文給大家分享一個(gè)用于數(shù)組或者對(duì)象的排序的函數(shù)。該函數(shù)可以以任意深度的數(shù)組或者對(duì)象的值作為排序基數(shù)對(duì)數(shù)組或的元素進(jìn)行排序2015-12-12JS實(shí)現(xiàn)表單驗(yàn)證功能(驗(yàn)證手機(jī)號(hào)是否存在,驗(yàn)證碼倒計(jì)時(shí))
js實(shí)現(xiàn)表單驗(yàn)證功能,通過js代碼驗(yàn)證手機(jī)號(hào)是否存在驗(yàn)證碼倒計(jì)時(shí)功能,代碼簡(jiǎn)單易懂非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-10-10JavaScript實(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