合并多个Int16Array

时间:2014-09-29 06:21:47

标签: javascript html5

我在块中操作wav数据,并且每次worker返回一个块作为Int16Array时,我想将所有这些合并到一个Int16Array中,我将转换为最终的.wav文件,那么这样做的有效方法是什么?

是我做得对的吗?

        ...
    var offset=0;
    var finalArray;
    worker.onmessage = function (e) {
        //e.data is the Int16Array
        if(!finalArray){        
            finalArray=e.data;
            offset=e.data.byteLength;
        }else{
            finalArray.set(e.data,offset);
            offset+=e.data.byteLength;
        }
    ...

1 个答案:

答案 0 :(得分:0)

您需要分配内存以适应两个块,然后将内容放在新数组中。

所以,你所做的是正确的。如果性能是一个问题,你可以聪明地寻找偏移量的阵列,但这可能比它的价值更麻烦。