此时我的申请非常简单。它记录一个音频文件。我想使用readAsDataURL()
将音频文件转换为base64字符串
在phonegap api。这是我的代码如下。如您所见,我正在关注documentation以获取下面的base64字符串。在下面的代码中,我尝试获取base64字符串并将其存储在变量中,然后使用该变量在警报框中显示该字符串。截至目前,我只获得"数据:audio / wav; base64,"我已经坚持了4个星期了。我真的很感激一些帮助。
function gotFS(fileSystem) {
fileSystem.root.getFile("myaudio.wav", {create: true, exclusive: false}, gotFileEntry, fail);
}
function gotFileEntry(fileEntry) {
fileEntry.file(gotFile, fail);
}
function gotFile(file){
readDataUrl(file);
}
function readDataUrl(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log("read success");
console.log(evt.target.result);
var thed = evt.target.result;
alert(thed); //trying to display the base64 string in an alert box
};
reader.readAsDataURL(file);
}
答案 0 :(得分:0)
document.addEventListener("deviceready", init, false);
function init() {
//This alias is a read-only pointer to the app itself
window.resolveLocalFileSystemURL(cordova.file.applicationDirectory + "www/button-1.mp3", gotFile, fail);
// var src = "/android_asset/www/sounds/button-1.mp3";
}
function fail(e) {
// console.log("FileSystem Error");
// console.dir(e);
}
function gotFile(fileEntry) {
fileEntry.file(function(file) {
var reader = new FileReader();
reader.onloadend = function(e) {
console.log("Text is: "+this.result);
};
// reader.readAsText(file);
// reader.readAsArrayBuffer(file);
// reader.readAsBinaryString(file);
reader.readAsDataURL(file);
});