2017-09-12 11 views
0

として送信します。mediaStreamRecorderを使用してoggファイルを記録し、Websocket経由でAPIに送信します.WebMと互換性がありません。他のブラウザでもうまく動作しますが、ファイルはwebMであり、エラーをスローします。Google chromeはogファイルをwebm

これは私のrecorder.jsファイルの一部です:

ここ
mediaRecorder.onstop = function(e) { 
    if (audioarray.length>=2){ 
    var blob = new Blob(audioarray, { 'type' : 'audio/ogg; codecs=opus' }); 
    var blobURL = URL.createObjectURL(blob); 
    blobsize = blob.size; 
    reader.readAsDataURL(blob); 
    reader.onload = function(event){ 
     codedaudio = reader.result; 
     console.log("File size: "+blobsize); 
     audiourl = event.target.result; 
     //cut Base64 code to the last "," 
     audiomsg = codedaudio.substring(codedaudio.lastIndexOf(",")+1,codedaudio.length); 
     console.log("Audio length: "+audioarray.length); 
     sendMessage(audiomsg,'right','audio',blobURL); 
     console.log("MediaStreamrecorder stopped"); 
     audioarray = []; 
    }; 
    }else{ 
    // ToDo in short audio case 
    console.log("audio is too short, it will not be sent") 
    console.log("Audio length: "+audioarray.length); 
    audioarray = []; 
    }; 
} 

OGGを送信するコードの一部:

sendMessage = function (text,side,type,filepath) { 
    webmessage = { 
    message:text, 
    type: type 
    } 
    message_side = side; 
    //output debug 
    if(text!=""){ 
    ws.send(JSON.stringify(webmessage)); 
    if (output==true){ 
     console.log(webmessage); 
    } 
    } 
}; 

¿はクロムにoggのようにそれを送信する方法はありますか? 。

答えて

0

Firefoxとおそらく他のブラウザとは異なり、Chrome doesn't support recording audio-only in an ogg container。我々はWEBMは、OGGに変換することができ方法はあり

MediaRecorder.isTypeSupported("audio/ogg") 
+0

あなたはとサポートをテストすることができますか? –

関連する問題