-
传入指定path路径
public staticBitmap getVideoThumbnail(String videoPath) {
Media MetadataRetriever media =new MediaMetadataRetriever();
media.setDataSource(videoPath);
Bitmap bitmap = media.getFrameAtTime();
return bitmap;
} -
参数1 path
参数2 ,3 图片的宽高
参数4 类型 参照MediaStore.Images.Thumbnails类中的常量MINI_KIND和MICRO_KIND。 其中,MINI_KIND: 512 x 384,MICRO_KIND: 96 x 96
public staticBitmap getVideoThumbnail(String videoPath,intwidth,intheight,intkind) {
Bitmap bitmap =null;
bitmap = ThumbnailUtils.createVideoThumbnail(videoPath, kind);
bitmap = ThumbnailUtils.extractThumbnail(bitmap, width, height, ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
return bitmap;
}
查
ArrayList mediaItems = new ArrayList<>();
ContentResolver resolver = context.getContentResolver();
Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
String[] objs = {
MediaStore.Video.Media.DISPLAY_NAME,//视频文件在sdcard的名称
MediaStore.Video.Media.DURATION,//视频总时长
MediaStore.Video.Media.SIZE,//视频的文件大小
MediaStore.Video.Media.DATA,//视频的绝对地址
MediaStore.Video.Media.ARTIST,//歌曲的演唱者
};
Cursor cursor = resolver.query(uri, objs, null, null, null);
取
if (cursor != null) {
while (cursor.moveToNext()) {
MediaItem mediaItem = new MediaItem();
mediaItems.add(mediaItem);//写在上面
String name = cursor.getString(0);//视频的名称
mediaItem.setName(name);
long duration = cursor.getLong(1);//视频的时长
mediaItem.setDuration(duration);
long size = cursor.getLong(2);//视频的文件大小
mediaItem.setSize(size);
String data = cursor.getString(3);//视频的播放地址
mediaItem.setData(data);
String artist = cursor.getString(4);//艺术家
mediaItem.setArtist(artist);
Bitmap image = getVideoThumbnail(data);
mediaItem.setImageUrl(image);
}
cursor.close();
}