连接奇数个字节并作为Int读取

时间:2014-02-10 19:13:40

标签: javascript

我对能够读写24位wav文件感兴趣。网络音频api + recorderjs似乎非常适合16位wavs,但专业音频通常以24位进行录制和操作。我想知道在javascript中是否有一种方法可以从数组缓冲区连接3个二进制字节并将它们作为int读取。

解决方案:

var sample = 0;

for (var b = 0; b < bytesPerSample; b++) { 

    sample <<= 8;
    sample |= data[b]; // data is a Uint8Array          

}

1 个答案:

答案 0 :(得分:0)

不确定

var a = [0xc,0xa,0xb];
a.reduce(function(p,c){return p<<8|c;},0).toString(16) // "c0a0b"