J'ai essayé de créer une miniature de vidéo comme décrit here. J'ai aussi lu la référence here.Impossible d'obtenir une miniature de vidéo dans Android 2.0+
Dans mon application j'ai d'abord laisser l'utilisateur choisir une vidéo avec:
startActivityForResult(new Intent(Intent.ACTION_GET_CONTENT).setType("video/*"), ACTIVITY_PICKVIDEO);
Puis-je déterminer l'ID vidéo avec:
fileID = Integer.parseInt(contentUri.getLastPathSegment());
Ainsi, la vidéo content://media/external/video/media/5
aurait l'ID 5.
Ensuite, j'essaie d'obtenir le bitmap avec des vignettes:
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);
Aucune exception n'a été levée mais le bitmap a une largeur et une hauteur de -1. Je ne suis pas sûr si l'ID nécessaire dans getThubnail()
est réellement l'ID que j'ai déterminé ci-dessus.
Quelqu'un sait-il d'un exemple de travail comment obtenir le bitmap miniature si vous avez le contenu Uri? Fait intéressant (peut-être ainsi) Je obtiens la valeur zéro lorsque j'essaie avec MediaStore.Video.Thumbnails.MINI_KIND
comme taille de vignette et IllegalArgumentException ("Unsupported kind: 2")
quand j'essaye FULL_SCREEN_KIND
. J'utilise Motorola Milestone avec Android 2.1.
EDIT: Je aussi essayé d'obtenir l'ID avec l'interrogation pour le BaseColumns._ID mais il se révèle être le même que dans le Uri (dans l'exemple donné la _ID est 5).
@Manuel: utiliser cette fonction android.media.ThumbnailUtils.createVideoThumbnail (\t \t \t \t \t chemin d'accès, MediaStore.Video.T humbnails.MINI_KIND); ici chemin est le chemin du fichier en utilisant cela, vous pouvez obtenir la vignette d'une vidéo particulière –