android 通过文件名获取SD卡视频缩略图

来源:互联网 发布:java 测试war包 编辑:程序博客网 时间:2024/05/17 22:29


  仅仅是获取SD卡的啊,对于网络下载,就不清楚了

/** * 通过文件名 获取视频的缩略图 *  * @param context * @param cr cr = getContentResolver(); * @param testVideopath  全路径 "/mnt/sdcard/sidamingbu.mp4"; * @return */public static Bitmap getVideoThumbnail(Context context, ContentResolver cr, String testVideopath) {// final String testVideopath = "/mnt/sdcard/sidamingbu.mp4";ContentResolver testcr = context.getContentResolver();String[] projection = { MediaStore.Video.Media.DATA, MediaStore.Video.Media._ID, };String whereClause = MediaStore.Video.Media.DATA + " = '" + testVideopath + "'";Cursor cursor = testcr.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, projection, whereClause,null, null);int _id = 0;String videoPath = "";if (cursor == null || cursor.getCount() == 0) {return null;}if (cursor.moveToFirst()) {int _idColumn = cursor.getColumnIndex(MediaStore.Video.Media._ID);int _dataColumn = cursor.getColumnIndex(MediaStore.Video.Media.DATA);do {_id = cursor.getInt(_idColumn);videoPath = cursor.getString(_dataColumn);System.out.println(_id + " " + videoPath);} while (cursor.moveToNext());}BitmapFactory.Options options = new BitmapFactory.Options();options.inDither = false;options.inPreferredConfig = Bitmap.Config.ARGB_8888;Bitmap bitmap = MediaStore.Video.Thumbnails.getThumbnail(cr, _id, Images.Thumbnails.MICRO_KIND,options);return bitmap;}


   若代码没看明白 ,可看下面的说明,  下面的是转载的 http://shazhuzhu1.iteye.com/blog/1254724


  

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 (这个应该是VIDEO_ID) 

 

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

  1 获取视频的uri

  2 转换为String,得到视频id

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

  4 根据路径得到图片


  缩略图 与源文件有一个 id是相关联的


 2013年7月2日15:35:19


   今天需要用到缩略图, 发现上面那个代码不清楚为什么会是一个空白,没图片,

 http://blog.csdn.net/akon_vm/article/details/7419274 

  这个链接可以获取到,但是要求最少2.2以上。

   再我测试的视频文件格式flv, 我在我手机没问题,但是模拟器好像不支持这个格式还是啥,会是一个null!