将 MediaRecorder 音频转换为 base64

Converting MediaRecorder audio to base64

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

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

看看this example

每次有新数据可用时,它都会将该数据推送到数组中,如下所示:

function handleDataAvailable(event) {
  if (event.data && event.data.size > 0) {
    recordedBlobs.push(event.data);
  }
}

然后,它像这样组合所有数据:

var superBuffer = new Blob(recordedBlobs, {type: 'video/webm'});

那么我如何将这个 superBuffer 转换为 base64?

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

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

答案来自 Convert blob to base64

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