如何阅读音频文件使用cordova文件系统

时间:2017-07-03 12:38:06

标签: ionic-framework cordova-plugins

**以下是使用Cordova文件系统读取音频文件的方法

和离子文件系统:**

function readFile() {
     var type = window.TEMPORARY;
     var size = 5*1024*1024;
     window.requestFileSystem(type, size, successCallback, errorCallback)

     function successCallback(fs) {
        fs.root.getFile('remo.mp3', {}, function(fileEntry) {

           fileEntry.file(function(file) {
              var reader = new FileReader();
              console.log(file);
              reader.onloadend = function(e) {
                 console.log(this.result);
              };
              reader.readAsText(file);
           }, errorCallback);
        }, errorCallback);
     }

     function errorCallback(error) {
        alert("ERROR: " + error.code);
     }
   }

代码的输出大小为零,并且使用其他类似名称的键,启动等:

File {  
   name : "remos.mp3"
   size : 0,
   start: 0
   type : "audio/mpeg"
}

1 个答案:

答案 0 :(得分:2)

//是的,我找到了它的解决方案,你需要上传音频文件的主体作为BLOB对象,如

fileEntry.file(function(file) {

                var reader = new FileReader();
                console.log(file);



                reader.onloadend = function(e) {


                    blob = new Blob([new Uint8Array(this.result)], { type: file.type });

                    objectBlob = {file:file,blob:blob};

                    $scope.uploadS3(objectBlob, function(data) {

                        console.log(data);

                        $rootScope.audioObject = 
                        {
                            cloudLocation:data.Location,
                            uploadDateTime:getCurrentTime(),
                            objId:$scope.randomString(6)
                        };

                        console.log($rootScope.audioObject)

                    });
                };

                reader.readAsArrayBuffer(file);                         

            });