插件媒体未发布记录。它会将临时文件保存在我的设备的根目录中,并且不会创建该文件。
这是开始录制的方式:
var src = 'RaptorV4/Audio/Record.mp3';
App.mediaRec = new App.Media(src, function () {
//ok
}, function () {
//failed
if (!NODEWEBKIT) {
App.alert('record failed for ' + App.currentRecfullPath);
} else {
App.alertify('error', 'record failed for ' + App.currentRecfullPath);
}
App.db.deleteFile(App.currentRecFullPath);
App.stopRecAudio();
}, function () {
//changed
});
App.mediaRec.startRecord();
这就是我获取文件大小的方式:
App.mediaRec.stopRecord();
App.mediaRec.release();
var fileSize = $.Deferred();
window.resolveLocalFileSystemURL(cordova.file.externalRootDirectory, function (fs) {
fs.getFile(fullPath, {create: false}, function (file) {
file.file(function(f){fileSize.resolve(+f.size);return;});
});
});
$.when(fileSize).done(function(size){
console.warn(size);
}
大小始终为0,我认为这是因为我保存和获取文件的方式。
答案 0 :(得分:0)
您必须先添加Cordova文件系统插件才能创建新条目。
cordova plugin add org.apache.cordova.file
创建记录文件并设置全局变量fileURL和audioRecord:
//Prepares File System for Audio Recording
audioRecord = 'record.wav';
onDeviceReady();
function onDeviceReady() {
window.requestFileSystem(1, 0, gotFS, fail);
}
function gotFS(fileSystem) {
fileSystem.root.getFile(audioRecord, {
create: true,
exclusive: false
}, gotFileEntry, fail);
}
function gotFileEntry(fileEntry) {
fileURL = fileEntry.toURL();
}
开始和停止记录:
record = new Media(audioRecord,
// success callback
function () {
console.log("recordAudio():Audio Succes: ");
},
// error callback
function (err) {
console.log("recordAudio():Audio Error: " + err.code);
});
// Record audio
record.startRecord();
// Wait
record.stopRecord();