Node.jsでwavファイルを保存する方法
Node.jsを用いてwavファイルを保存する際、
WebAudioAPIで録音したデータをどのような形にして
fs.writeFile()に渡せばよいのかわからず困っています。
◆開発環境
win 10
goole chrome ver55.0.2883.87 m
Node.js ver6.7.0
Web Audio API
recorder.js
現在、音声録音自体はWeb Audio APIを使用し、
wavファイルへの変換はrecorder.js
(参考:https://labs.irohasoft.com/webaudio/chrome/)
を用いて行っているのですが、fs.writeFileでwavファイルを
保存する方法が分からず四苦八苦しています。
◆クライアントサイド
音声録音はWebAudioAPIを使用しており、
recorder.jsでwavファイルに変換しています。
以下はwavファイル変換部分のコードです。
recorder && recorder.exportWAV(function(blob) {
var url = URL.createObjectURL(blob);
var hf = document.createElement('a');
hf.href = url;
hf.download = new Date().toISOString() + '.wav';
hf.innerHTML = hf.download;
voiceBuff = ?;
});
voiceBuffはmodule.exportsで準備した変数で
fs.writeFile()の第二引数として利用したいと考えているのですが、
?の部分に何を渡せばよいのか見当がつかず悩んでいます。
◆共通のjsファイル(common.js)
var voiceBuff;
(function (exports) {
exports.getVoice = function(){return voiceBuff};
})(typeof exports === 'undefined' ? this.mymodule = {} : exports);
◆サーバサイド
var fs = require('fs');
var common = require('./js/common.js');
・・・
fs.writeFile(
'rec01.wav',
common.getVoice(),
function(err){
console.log(err);
}
);
勉強不足のため誤った箇所やわかりにくい部分など
多々あるとは思いますが、何かわからない部分があれば
随時追記していきます。
ご教授よろしくお願い致します。