**以下是使用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"
}
答案 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);
});