使用javascript将音频文件转换为base64

时间:2015-07-01 12:53:48

标签: javascript audio type-conversion base64

我想仅使用 Javascript 将音频文件转换为 base64

我们可以使用canvas将图片转换为 base64 。但是我们如何转换音频文件。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:5)

您可以尝试使用以下代码,它使用btoa

function getData(audioFile, callback) {
    var reader = new FileReader();
    reader.onload = function(event) {
        var data = event.target.result.split(',')
         , decodedImageData = btoa(data[1]);                    // the actual conversion of data from binary to base64 format
        callback(decodedImageData);        
    };
    reader.readAsDataURL(audioFile);
}

答案 1 :(得分:0)

以下是使用 JavaScript 将音频文件转换为 base64 字符串的方法:

async function audioToBase64(audioFile) {
  return new Promise((resolve, reject) => {
    let reader = new FileReader();
    reader.onerror = reject;
    reader.onload = (e) => resolve(e.target.result);
    reader.readAsDataURL(audioFile);
  });
}

你可以这样使用它:

<input oninput="audioToBase64(this.files[0]).then(result => console.log(result))" type="file">

当在该文件选择器中选择一个文件时,这将 console.log 一个类似 data:audio/mpeg;base64,//uYxAAAAA... 的字符串。