【问题标题】:Converting MediaRecorder audio to base64将 MediaRecorder 音频转换为 base64
【发布时间】:2017-05-19 10:45:12
【问题描述】:

我正在使用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?

【问题讨论】:

    标签: javascript html audio base64 blob


    【解决方案1】:

    您可以使用 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 的信息以更好地理解。

    【讨论】:

    • 如果您尝试使用 Node 的 FS api 将 base64 编码的 blob 写入文件,此答案非常有用。不执行.split(',')[1] 部分会导致生成损坏的 webm 文件。
    猜你喜欢
    • 2020-12-08
    • 1970-01-01
    • 2015-09-18
    • 1970-01-01
    • 1970-01-01
    • 2018-12-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多