Миниатюры видео в PhoneGap?

Я хочу отображать миниатюры для списка видеофайлов, хранящихся во внешнем хранилище, в моем приложении PhoneGap/Cordova. Вот что у меня есть до сих пор:

  • В настоящее время у PhoneGap нет API для этого (май 2012 г., PhoneGap 1.6.1). Верный?
  • Я могу получить миниатюру видео из локального пути к файлу на Android 2.2+ (на который я уже ориентируюсь) с помощью ThumbnailUtils.createVideoTHumbnail().
  • Я могу временно сохранить эту миниатюру во внутреннюю память (на мой взгляд, предпочтительнее) с помощью комбинации Bitmap.compress() и Context.openFileOutput().

Достаточно просто, но как мне получить доступ к этому файлу с помощью PhoneGap? Кажется, я не могу найти, где в документах API объясняется доступ к внутренней системе хранения данных вашего приложения. Кроме того, есть ли лучший способ сделать это полностью в памяти без записи в файловую систему? Я был бы не против отказаться от эскиза после того, как я закончил с ним. Я не ожидаю, что к ним будут часто обращаться.

Любая помощь будет оценена по достоинству. Спасибо!

Обновление:

По-видимому, Android уже создает файлы эскизов для галереи, но имена файлов — это просто идентификаторы. Я продолжаю видеть ссылки на «базу данных миниатюр», которая связывает эти идентификаторы с соответствующим файлом, но я не могу найти информацию о том, как получить к ней доступ. Может ли кто-нибудь помочь мне с примером или документацией?


person Tristan Shelton    schedule 16.05.2012    source источник


Ответы (2)


Если кто-то ищет ответ на аналогичный вопрос, то в итоге я сделал следующее:

function pickFile(callback) {
    var options = {
        quality: 100,
        destinationType: navigator.camera.DestinationType.FILE_URI,
        sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY,
        mediaType: navigator.camera.MediaType.VIDEO
    }
    function fail(error) {
        alert(error);
    }
    navigator.camera.getPicture(callback, fail, options);
}

Это опция, которая, по-видимому, была добавлена ​​в PhoneGap 1.1.0 и позволяет запрашивать файл из галереи пользователя независимым от платформы способом. В документации найти не очень интуитивно понятно, а по пользовательскому интерфейсу ничего не надиктуешь, но лучше так, чем ничего! Я надеюсь, что это поможет кому-то прийти сюда из Google.

Ваше здоровье!

person Tristan Shelton    schedule 22.05.2012
comment
Как этот ответ решил вашу проблему? Потому что у меня такая же проблема. Приведенный выше фрагмент кода даст вам путь к видеофайлу, а не миниатюру видеофайла. - person Sagar; 02.06.2016
comment
Это было давно, но я думаю, что хотел позволить пользователю выбрать видеофайл из списка эскизов. Галерея по умолчанию сделала именно это, поэтому она решила мой вопрос, но заголовок, который я дал тогда, вероятно, немного вводит в заблуждение. Извини за это! - person Tristan Shelton; 24.08.2016

если кому-то это покажется полезным, я написал небольшой плагин для Phonegap на Android для создания миниатюр захваченных изображений и видео: https://github.com/maxbasmanov/phonegap_thumbnailer

person Max    schedule 16.08.2012