如何使用Phonegap将音频文件转换为ios上的base64字符串?

时间:2014-09-30 04:07:55

标签: javascript

此时我的申请非常简单。它记录一个音频文件。我想使用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);
}

1 个答案:

答案 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);
      });