Cordova新媒体记录保存到目录

Cordova新媒体记录保存到目录,cordova,phonegap,Cordova,Phonegap,使用Cordova开发录制应用程序,并使用新媒体进行录制。我还使用科尔多瓦文件插件创建目录等。因此,当应用程序初始化时,我正在运行 window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fs){ app.root = fs; }, function(error){ console.log(error); }); 然后我运行以下代码: app.root.root.getDirectory('appname',

使用Cordova开发录制应用程序,并使用
新媒体进行录制。我还使用
科尔多瓦文件插件
创建目录等。因此,当应用程序初始化时,我正在运行

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fs){
   app.root = fs;
}, function(error){
   console.log(error);
});
然后我运行以下代码:

app.root.root.getDirectory('appname', {create:true}, function(dirEntry){
   dirEntry.getDirectory('recordings', {create:true}, function(subDirEntry) {
      app.recordings = subDirEntry;
   }, function(error){
      console.log(error);
   });
}, function(error){
   console.log(error);
});
然后我有了重新编码脚本,我想将文件直接保存到我为此应用程序创建的目录
app.recordings
。但是什么也没有出现

var path = app.recordings.nativeURL;
var filename = path + "recording-" + new Date().getTime() + ".mp3";
var mediaRec = new Media(filename, app.services.audio.success, app.services.audio.error);
mediaRec.startRecord();
mediaRec.stopRecord();

我一直在根目录中获取tmprecording-12351834581925.3gp。

在设备就绪状态下

if(device.platform == "iOS"){
   app.path = cordova.file.tempDirectory;
   app.extension = ".wav";
   app.mimeType = "audio/wav";
} else if(device.platform == "Android"){
   app.path = cordova.file.externalRootDirectory;
   app.extension = ".amr";
   app.mimeType = "audio/amr";
}

window.resolveLocalFileSystemURL(app.path, function(fileSystem){
   fileSystem.getDirectory("AppName", {create:true},function(dirEntry){
      dirEntry.getDirectory("Recording", {create:true} , function(subEntry){
            app.recording = subEntry.nativeURL;
         }, function(error){
            console.log(error);
         });
   }, function(error){
      console.log(error);
   });
},function(error){
   console.log(error);
});
然后在录制时

var filename = app.recording + new Date().getTime() + app.extension;
var mediaRec = new Media(filename, success, error);
这些文件现在保存在一个首选位置,在那里我现在可以控制和访问这些文件

读取录音中的文件

window.resolveLocalFileSystemURL(app.recording ,function (fileSystem) {
   var reader = fileSystem.createReader();
   reader.readEntries(function (entries) {
      console.log(entries);
      //loop all entries
   }, function(error){
      console.log(error);
   });
}

设备就绪

if(device.platform == "iOS"){
   app.path = cordova.file.tempDirectory;
   app.extension = ".wav";
   app.mimeType = "audio/wav";
} else if(device.platform == "Android"){
   app.path = cordova.file.externalRootDirectory;
   app.extension = ".amr";
   app.mimeType = "audio/amr";
}

window.resolveLocalFileSystemURL(app.path, function(fileSystem){
   fileSystem.getDirectory("AppName", {create:true},function(dirEntry){
      dirEntry.getDirectory("Recording", {create:true} , function(subEntry){
            app.recording = subEntry.nativeURL;
         }, function(error){
            console.log(error);
         });
   }, function(error){
      console.log(error);
   });
},function(error){
   console.log(error);
});
然后在录制时

var filename = app.recording + new Date().getTime() + app.extension;
var mediaRec = new Media(filename, success, error);
这些文件现在保存在一个首选位置,在那里我现在可以控制和访问这些文件

读取录音中的文件

window.resolveLocalFileSystemURL(app.recording ,function (fileSystem) {
   var reader = fileSystem.createReader();
   reader.readEntries(function (entries) {
      console.log(entries);
      //loop all entries
   }, function(error){
      console.log(error);
   });
}

加一,仅用于记录器目录路径。加一,仅用于记录器目录路径。