1.获取图片原始长宽
BitmapFactory.Options opts = new BitmapFactory.Options();
opts.inSampleSize = 1;
opts.inJustDecodeBounds = false;
Bitmap bm = BitmapFactory.decodeFile(imageFile.getAbsolutePath(),opts);
int width=opts.outWidth;
int height=opts.outHeight;
2.获取视频第一帧的缩略图
public static Bitmap getVideoThumbnail(String videoPath) {
MediaMetadataRetriever media =new MediaMetadataRetriever();
media.setDataSource(videoPath);
Bitmap bitmap = media.getFrameAtTime();
return bitmap;
}
public static Bitmap getVideoThumbnail(String videoPath,int width,int height,int kind) {
Bitmap bitmap =null;
bitmap = ThumbnailUtils.createVideoThumbnail(videoPath, kind);
bitmap = ThumbnailUtils.extractThumbnail(bitmap, width, height, ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
return bitmap;
}
从API 10开始新增一类MediaMetadataRetriever可以用来获取媒体文件的信息,可以获取视频任何一帧的缩略图。
MediaMetadataRetriever mediaRetriever = new MediaMetadataRetriever();
mediaRetriever.setDataSource((imageFile.getAbsolutePath());
Bitmap bitmap = mediaRetriever.getFrameAtTime();
image.setImageBitmap(bitmap); System.out.println(mediaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DATE)+""); System.out.println(mediaRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_MIMETYPE)+""); mediaRetriever.release();