Плагин phoneGap/Apache Cordova для захвата медиа - многократная запись видео
Я пытаюсь записать несколько видео с помощью плагина phoneGap/Apache Cordova, но после каждой записи он предлагает сохранить или удалить. Как избавиться от этой опции и автоматически сохранять каждую видеозапись? (Я использовал параметры длительности как 15 секунд, которые он останавливает запись через 15 секунд, а затем предлагает сохранить или удалить)
// capture callback
var captureSuccess = function(mediaFiles) {
var i, path, len;
for (i = 0, len = mediaFiles.length; i < len; i += 1) {
path = mediaFiles[i].fullPath;
// do something interesting with the file
}
};
// capture error callback
var captureError = function(error) {
navigator.notification.alert('Error code: ' + error.code, null, 'Capture Error');
};
// start video capture
navigator.device.capture.captureVideo(captureSuccess, captureError, {limit:2, duration:15});
1 ответ
Из плагина Cordova изменить это поведение невозможно.
Что делает метод JS Cordova capture.captureVideo (), просто вызывает намерение с помощью android.provider.MediaStore.ACTION_VIDEO_CAPTURE, а затем получает файл сохраненного видео. Фактическая запись и сохранение / удаление (то есть подтверждение / отмена) выполняется самим Android, а не плагином Cordova.
https://github.com/apache/cordova-plugin-media-capture/blob/master/src/android/Capture.java#L250
Беглый взгляд на MediaStore API не находит никаких вариантов автоматического сохранения записи.
http://developer.android.com/reference/android/provider/MediaStore.html
Предполагая, что захват видео инициирован пользователем, я лично считаю, что хорошей практикой является позволить пользователю повторно захватывать или удалять видео, если оно им не нравится, вместо автоматической фиксации своего захвата.