小编典典

RecorderJS通过AJAX上传记录的Blob

ajax

我正在使用Matt Diamond的recorder.js导航HTML5音频API,并且觉得这个问题可能有一个明显的答案,但是我找不到任何特定的文档。

问题 :记录wav文件后,如何通过ajax将wav发送到服务器?有什么建议???


阅读 285

收藏
2020-07-26

共1个答案

小编典典

如果您有Blob,则需要将其转换为网址,然后通过ajax调用运行该网址。

// might be nice to set up a boolean somewhere if you have a handler object
object = new Object();
object.sendToServer = true;

// You can create a callback and set it in the config object.
var config = {
   callback : myCallback
}

// in the callback, send the blob to the server if you set the property to true
function myCallback(blob){
   if( object.sendToServer ){

     // create an object url
     // Matt actually uses this line when he creates Recorder.forceDownload()
     var url = (window.URL || window.webkitURL).createObjectURL(blob);

     // create a new request and send it via the objectUrl
     var request = new XMLHttpRequest();
     request.open("GET", url, true);
     request.responseType = "blob";
     request.onload = function(){
       // send the blob somewhere else or handle it here
       // use request.response
     }
     request.send();
   }
}

// very important! run the following exportWAV method to trigger the callback
rec.exportWAV();

让我知道这是否有效..尚未测试,但应该可以工作。干杯!

2020-07-26