###前提・実現したいこと
JavaScriptでマイク入力の音声をサーバ上に保存するプログラムを作っています。
具体的にはRecorderjsを使って音声を認識して、POSTでサーバに送信・保存したいと思っています。
サンプルプログラムを使ってとりあえず作成しているのですが、作成されたBlobをPOSTで送信する方法がわかりません。
とりあえず、サンプルプログラムを以下のようにしましたができませんでした。
html
1【略】 2 function createDownloadLink() { 3 recorder && recorder.exportWAV(function(blob) { 4 var url = URL.createObjectURL(blob); 5 var li = document.createElement('li'); 6 var au = document.createElement('audio'); 7 var hf = document.createElement('a'); 8 9 /*ここから追加した部分*/ 10 var reader = new FileReader(); 11 reader.onload = function(e){ 12 __log('POST!!'); 13 14 var fd = new FormData(); 15 fd.append('fname', 'test.wav'); 16 fd.append('data', reader.result); 17 18 $.ajax({ 19 type: 'POST', 20 url: 'upload.php', 21 dataType : "text", 22 data: fd, 23 processData: false, 24 contentType: false 25 }).done(function(data) { 26 console.log(data); 27 }); 28 }; 29 30 reader.readAsText(blob); 31 /*ここまで追加した部分*/ 32 33 au.controls = true; 34 au.src = url; 35 hf.href = url; 36 hf.download = new Date().toISOString() + '.wav'; 37 hf.innerHTML = hf.download; 38 li.appendChild(au); 39 li.appendChild(hf); 40 recordingslist.appendChild(li); 41 }); 42 } 43 window.onload = function init() { 44【略】
以上、よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー