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

converting audio file to base64 using javascript

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

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

任何帮助将不胜感激。

你可以试试下面的代码,它使用 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);
}

以下是如何使用 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... 的字符串。