【问题标题】:Decode Base 64 audio file Mp3 into playable Mp3将 Base 64 音频文件 Mp3 解码为可播放的 Mp3
【发布时间】:2016-08-24 12:16:06
【问题描述】:

我正在转换音频 MP3 文件并使用 WEB API 将它具有 base64 存储在数据库中,现在我正在使用 ajax 获取 base64 文件并且我正在获取 base64,问题是我如何将 base64 文件转换回 mp3文件并使用 javascript 播放需要帮助

如果我在演示中使用输入文件,我将从服务器获取 base64 文件

<input type='file' onchange='openFile(event)' id="EdituserProfileImage">

var fileName;
var filetype;
var filesize;
var VoiceBase64;
var openFile = function (event) {
var input = event.target;
fileName = input.files[0].name;
filetype = input.files[0].type;
filesize = input.files[0].size;
console.log(input);
console.log(fileName);
var reader = new FileReader();
reader.onload = function (evt) {
var voiceInBinay = evt.target.result;
VoiceBase64 = btoa(voiceInBinay);
contvertBase64toBinaray(VoiceBase64);
};
 reader.readAsBinaryString(input.files[0]);
     };

这个函数“contvertBase64toBinaray”用于将base64转换为二进制,我有二进制文件,需要从下面的二进制文件中保存mp3

function contvertBase64toBinaray(VoiceBase64) {
 var audiofile = atob(VoiceBase64)
 };

【问题讨论】:

  • 我没有得到你的代码和你的问题之间的链接。如果您有来自数据库的 dataURI,则您拥有的 dataURI 已经是完整 mp3 文件的表示。您可以直接将其添加为 &lt;audio&gt; 元素的源 (src) 并按原样播放。如果您尝试从输入元素中读取文件,请使用 FileReader 的 readAsDataURL 方法并应用我刚才所说的内容。
  • 如果您实际上有一个二进制字符串,您只需将 dataURI 标头'data:audio/mp3;base64,' 添加到您的结果的btoa() (var dataURI = 'data:audio/mp3;base64,'+btoa(binaryString))

标签: javascript jquery cordova phonegap-plugins html5-audio


【解决方案1】:

使用window.atob 函数解码您的base 64 数据。

This 问题告诉你如何在 JS 中播放 mp3。

【讨论】:

  • ,thx,我使用 window.atob 进行了转换,我得到了二进制数据,我如何转换回 Mp3,所以我可以播放文件并保存它。
  • 您现在在缓冲区中的数据是真正的 mp3 数据。使用我的答案中的链接来创建播放器并将您拥有的数据用作 src 中的 datauri。
  • 我想保存在本地文件夹有带名称的 mp3 文件,我有二进制数据,想用 JavaScript 播放它,我正在使用 File Api
猜你喜欢
  • 2018-01-29
  • 1970-01-01
  • 1970-01-01
  • 2011-12-28
  • 1970-01-01
  • 1970-01-01
  • 2020-07-06
  • 2011-04-30
  • 1970-01-01
相关资源
最近更新 更多