Javascript 读取节点js中的pcm文件以获取原始数据
下面的代码解析一个示例pcm文件Javascript 读取节点js中的pcm文件以获取原始数据,javascript,node.js,parsing,pcm,waveform,Javascript,Node.js,Parsing,Pcm,Waveform,下面的代码解析一个示例pcm文件 var dataFile = 'C:\\Users\\<user>\\Desktop\\small.pcm'; fs.readFile(dataFile, function(err, res) { if(err) { console.log('Error:', e.stack); }else{ var ampData = []; var arrByte = Uint8Array.from(Buffe
var dataFile = 'C:\\Users\\<user>\\Desktop\\small.pcm';
fs.readFile(dataFile, function(err, res) {
if(err) {
console.log('Error:', e.stack);
}else{
var ampData = [];
var arrByte = Uint8Array.from(Buffer.from(res)); //Convert to byte array
for(var i=0;i<arrByte.length;i=i+2){
var val;
var byteA = arrByte[i];
var byteB = arrByte[i+1];
var sign = byteA & (1 << 7);
var x = (((byteA & 0xFF) << 8) | (byteB & 0xFF)); // convert to 16 bit signed int
if (sign) { // if negative
val = 0xFFFF0000 | x; // fill in most significant bits with 1's
}else{
val = x;
}
ampData.push(val)
}
}
});
var数据文件='C:\\Users\\\\Desktop\\small.pcm';
readFile(数据文件,函数(err,res){
如果(错误){
log('Error:',e.stack);
}否则{
var-ampData=[];
var arrByte=Uint8Array.from(Buffer.from(res));//转换为字节数组
对于(var i=0;i来说,我需要对其进行小端字节排序
for(var i=0;i<arrByte.length;i=i+2){
var byteA = arrByte[i];
var byteB = arrByte[i+1];
var sign = byteB & (1 << 7);
var val = (((byteA & 0xFF) | (byteB & 0xFF) << 8)); // convert to 16 bit signed int
if (sign) { // if negative
val = 0xFFFF0000 | val; // fill in most significant bits with 1's
}
ampData.push(val)
}
for(var i=0;i为什么不使用readInt16LE?