android 获取视频和图片的缩略图

1 在显示视频图片列表时,发送彩信时,制作幻灯片时都需要显示视频或图片的缩略图,显示代码如下:

//import
import android.content.ContentResolver;
import android.content.ContentUris;
import android.graphics.Bitmap;
import android.provider.MediaStore.Video;
import android.widget.ImageView;

//ImageView控件
private ImageView mImagePreview;

//.............................

//初始化ImageView
mImagePreview = (ImageView) findViewById(R.id.image_preview);

//video为视频文件对应的uri
long id = ContentUris.parseId(video);
ContentResolver mContentResolver = mContext.getContentResolver();

//缩略图类型:MINI_KIND FULL_SCREEN_KIND MICRO_KIND
Bitmap miniThumb = Video.Thumbnails.getThumbnail(mContentResolver, id,
Video.Thumbnails.MINI_KIND, null);
//填充图片
mImagePreview.setImageBitmap(miniThumb);

//...............................

或者使用

Bitmap bitmap = VideoAttachmentView.createVideoThumbnail(mContext,video); 来获取图片

2 在android.provider.MediaStore中包含对图片和视频的各种处理类,其中 android.provider.MediaStore.Images.Thumbnails 和android.provider.MediaStore.Video.Thumbnails提供了图片和视频生成缩略图的方法。

3 图片和视频的索引及其与对应缩略图的对应关系在 /sdcard/data/data/com.android.providers.media/databases中的db文件中,

   图片对应表images和thumbnails

images   

  _id      图片id

  _data  图片路径

thumbnails

  _id          缩略图id

  _data      缩略图存储位置

  image_id    对应原图id 

    视频对应表images和thumbnails

video   

  _id            视频id

  _data        视频路径

videothumbnails

  _id            视频缩略图id

  _data        视频缩略图存储位置

  image_id  对应视频id 

4  以获取视频的缩略图为例,具体步骤如下:

  1 获取视频的uri

  2 转换为String,得到视频id

  3 去videothumbnails表中找到视频缩略图路径

  4 根据路径得到图片

 5   其他可参考:获取Android手机上的图片和视频缩略图

posted @ 2011-10-14 18:29  因是因非  阅读(1451)  评论(0编辑  收藏  举报