javascript - 将 MediaRecorder 音频转换为 base64

标签 javascript html audio base64 blob

我正在使用 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 的信息以便更好地理解。

关于javascript - 将 MediaRecorder 音频转换为 base64,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41475746/

相关文章:

android - 如何将音频文件从原始文件夹保存到手机

javascript - 如何向 Klout API 发送批量请求

javascript - 使用另一个数组从数组中删除条目

html - 显示 "alt"文本时的 Internet Explorer img 宽度

javascript - 为什么 jQuery.data 和 .data() 的行为不同并访问不同的数据?

javascript - 如何在css中分离过滤器的不同属性?

c++ - 如何刷新Directshow音频渲染器缓冲区?

java - 从歌曲中获取当前音频频率 - Java(也许使用 FFT?)

javascript - 浏览器什么时候初始化闪存?

javascript - 如何在不创建单独的 id 的情况下对多个项目使用一个函数?