Android: как получить эскиз видео файл, который является личным для вашего приложения?

Вопрос:

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

Общие сведения:

  1. В моем приложении есть камера, которая может записывать видео.
  2. По причинам, связанным с продуктом, видеофайл изначально создается и записывается в частном режиме в каталоге личных данных приложения, что делает его частным для приложения. Это делается с помощью: Context # openFileOutput (fileName, Context.MODE_PRIVATE) - типичный путь к файлу выглядит так: / data / data / [package.name] / files / [fileName].mp4 - К вашему сведению, я уже пробовал использовать Context.MODE_WORLD_READABLE вместо Context.MODE_PRIVATE , но это не помогло.
  3. Даже если видео в конечном итоге может оказаться во внешнем хранилище (путем перемещения файла в Environment # getExternalStoragePublicDirectory (Environment.DIRECTORY_MOVIES) ) , эскиз должен отображаться пока видео находится в частном хранилище приложения.
  4. Похоже, что ThumbnailUtils.createVideoThumbnail (String, int) отлично работает с файлом после его перемещения в общедоступный каталог (независимо от добавления его в MediaStore), но не работает (возвращает ] null ), когда файл находится во внутренней памяти.

    • Примечание: пока видеофайл находится в частном хранилище приложения, он не добавляется в MediaStore (поставщик изображений / видеоконтента на устройстве, подключенном к галерее). Только после того, как видео будет перемещено во внешнее хранилище, я добавляю его в MediaStore. Это решение, связанное с продуктом, и я не могу обойти его стороной; если нет способа добавить видео в хранилище мультимедиа так, чтобы оно не было видимым для других приложений ... Интересно, можно ли добавить видео из частного хранилища приложений в хранилище мультимедиа и оставаться закрытым для приложения, но получить все бесплатные услуги "предоставляется хранилищем мультимедиа, например, для создания эскизов.
15
задан Warlax 1 January 2012 в 16:24
поделиться