4

録音した音声をサーバーの音声ファイルに保存しようとしています。

参照: http://www.smartjava.org/content/record-audio-using-webrtc-chrome-and-speech-recognition-websockets

コード:

var rec;

function testaudio(){
 navigator.getUserMedia({audio: true}, success, error);
function success(stream){
    var context = new webkitAudioContext();
    console.log(context);
    console.log(context.source);
    console.log(context.destination);
            var mediaStreamSource = context.createMediaStreamSource(stream);
    console.log(mediaStreamSource);
            rec = new Recorder(mediaStreamSource);
    console.log(rec);
}
function error(e){console.log('error in testing audio.. !!1'+e);}   

}

function record(){ rec.record();

console.log("recording..");

}

関数 stopAndSend() {

rec.stop();

console.log("recording stopped!!!");
rec.exportWAV(function(blob){

console.log(blob);
    socket.emit('audioSave', {recordedData:blob}); //sending blob to server, socket is created using socket.io

});

}

サーバー側コード:

   socket.on('audioSave', function(data){
      var audio=data.recordedData;
      /*
      Here i want to save this audio in an audio file , i tried this
        fs.writeFile('out.wav', audio, function(err)
    {
        if(err) {console.log("!!!!!!!!!!!!!!!error in writing file..."+ err);}

        console.log(" Audio File created ");
    }
    );
           This method creates  text file
       */
   });

オーディオ ファイルにオーディオ ブロブを書き込むにはどうすればよいですか?

4

1 に答える 1

2

socket.io を使用していますか? あなたが送信しようとしているバイナリデータをサポートしているとは思いません。BinaryJSを確認するか、それが機能しない場合は、Blob を Base64 エンコーディング (または他の同様の方法) を介して文字列形式に変換することをお勧めします。

于 2012-12-31T21:52:29.333 に答える