Плагин 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

Предполагая, что захват видео инициирован пользователем, я лично считаю, что хорошей практикой является позволить пользователю повторно захватывать или удалять видео, если оно им не нравится, вместо автоматической фиксации своего захвата.

Другие вопросы по тегам