【发布时间】: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 文件的表示。您可以直接将其添加为
<audio>元素的源 (src) 并按原样播放。如果您尝试从输入元素中读取文件,请使用 FileReader 的readAsDataURL方法并应用我刚才所说的内容。 -
如果您实际上有一个二进制字符串,您只需将 dataURI 标头
'data:audio/mp3;base64,'添加到您的结果的btoa()(var dataURI = 'data:audio/mp3;base64,'+btoa(binaryString))
标签: javascript jquery cordova phonegap-plugins html5-audio