Я попытался создать миниатюру видео, как описано here. Я также прочитал ссылку here.Не удается получить видеоролик в Android 2.0+
В моем приложении я первый позволить пользователю выбрать видео с:
startActivityForResult(new Intent(Intent.ACTION_GET_CONTENT).setType("video/*"), ACTIVITY_PICKVIDEO);
Тогда я определить идентификатор видео с:
fileID = Integer.parseInt(contentUri.getLastPathSegment());
Таким образом, видео content://media/external/video/media/5
будет иметь идентификатор 5.
Тогда я пытаюсь получить растровый эскиз с:
ContentResolver crThumb = getContentResolver();
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 1;
Bitmap curThumb = MediaStore.Video.Thumbnails.getThumbnail(crThumb, fileID, MediaStore.Video.Thumbnails.MICRO_KIND, options);
Исключено исключение, но растровое изображение имеет ширину и высоту -1. Я не уверен, что идентификатор, необходимый в getThubnail()
, на самом деле является идентификатором, который я определил выше.
Кто-нибудь знает пример работы, как получить растровое изображение миниатюр, если у вас есть контент Uri?
Интересно (может быть, так) Я получаю null при попытке с MediaStore.Video.Thumbnails.MINI_KIND
размером с миниатюры и IllegalArgumentException ("Unsupported kind: 2")
при попытке FULL_SCREEN_KIND
.
Я использую Motorola Milestone с Android 2.1.
EDIT: Я также пытался получать удостоверение личности с запрашивая для BaseColumns._ID, но оказывается такой же, как и в Ури (в данном примере _ID является 5).
@Manuel: использовать эту функцию android.media.ThumbnailUtils.createVideoThumbnail (\t \t \t \t \t путь, MediaStore.Video.T humbnails.MINI_KIND); здесь путь - это путь к файлу, с помощью которого вы можете получить эскиз определенного видео –