将MediaRecorder音频转换为base64

Luk*_*non 2 html javascript audio base64 blob

我正在使用MediaRecorder API在页面上录制音频。

我需要将此音频转换为base64。

这个例子

每次有新数据可用时,它将数据推入数组,如下所示:

function handleDataAvailable(event) {
  if (event.data && event.data.size > 0) {
    recordedBlobs.push(event.data);
  }
}
Run Code Online (Sandbox Code Playgroud)

然后,它将所有这些数据合并在一起,如下所示:

var superBuffer = new Blob(recordedBlobs, {type: 'video/webm'});
Run Code Online (Sandbox Code Playgroud)

那么如何将其转换superBuffer为base64?

小智 5

您可以使用FileReader对象执行此操作。

var reader = new window.FileReader();
reader.readAsDataURL(superBuffer); 
reader.onloadend = function() {
   base64 = reader.result;
   base64 = base64.split(',')[1];
   console.log(base64 );
}
Run Code Online (Sandbox Code Playgroud)

答案从Convert blob转换为base64

阅读有关FileReader的更多信息,以更好地理解。