2016-12-13 12 views
0

Плагин media не выпускает запись. Он сохраняет временный файл в корневом каталоге моего устройства и не создает файл.Медиа-запись cordova не выпускает файл

Это как начало записи:

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

Пожалуйста, покажите мне ваш код ..How был вы сделали это. Спасибо –

+0

Сообщение отредактировано. можешь мне помочь? –

+0

уверенный брат, позвольте мне снова рассмотреть ваш вопрос. Спасибо, что ответили на вопросы –

ответ

0

вам нужно будет добавить плагин файловой системы Кордовы, чтобы создать новую запись.

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(); 
+0

. Пожалуйста, просмотрите мой ответ, если у вас есть комментарий к проблеме здесь. Спасибо –

+0

Но мои файлы приложений должны находиться в корневом каталоге устройства, и это изменение будет сохранено в папках Android. Пользователь должен иметь легкий доступ к записи –

+0

Для этого я использую cordova.file.externalRootDirectory как каталог и window.resolveLocalFileSystemURL для получения каталога. Я думаю, что это проблема. Некоторые конфликты в каталоге –

 Смежные вопросы

  • Нет связанных вопросов^_^