Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从音频缓冲区在Node.js中写入wav文件_Javascript_Node.js_Audiocontext - Fatal编程技术网

Javascript 从音频缓冲区在Node.js中写入wav文件

Javascript 从音频缓冲区在Node.js中写入wav文件,javascript,node.js,audiocontext,Javascript,Node.js,Audiocontext,我是Node.js编程新手,正在尝试将m4a文件转换为wav文件 我使用audiobuffer实现wav和web音频api。 这是我的代码: const fs = require('fs'); const toWav = require('audiobuffer-to-wav'); const AudioContext = require('web-audio-api').AudioContext; const audioContext = new AudioContext; let resp

我是Node.js编程新手,正在尝试将m4a文件转换为wav文件

我使用audiobuffer实现wav和web音频api。 这是我的代码:

const fs = require('fs');
const toWav = require('audiobuffer-to-wav');
const AudioContext = require('web-audio-api').AudioContext;
const audioContext = new AudioContext;

let resp = fs.readFileSync('sample.m4a');

audioContext.decodeAudioData(resp, buffer => {
  let wav = toWav(buffer);
  console.log(buffer.length);
  console.log(wav); 
});
我想知道如何将wav变量保存到Node.js中的文件中

const fs = require('fs');
const toWav = require('audiobuffer-to-wav');
const AudioContext = require('web-audio-api').AudioContext;
const audioContext = new AudioContext;
 let resp = fs.readFileSync('sample.m4a');

var audioStack = [];

var header = require('waveheader');

audioContext.decodeAudioData(resp, buffer => {
    let wav = toWav(buffer); 
    var chunk = new Uint8Array(wav);
    console.log(chunk); 
    fs.appendFile('bb.wav', new Buffer(chunk), function (err) {
    });

});
这是我的答案。感谢Kalamarico。

您需要“waveheader”,但您似乎没有使用它向流写入头。我认为您可能希望跟踪流端,然后将数据子块的大小也添加到头中。