android 获取视频,图片缩略图的具体实现
android 获取视频,图片缩略图的具体实现
发布时间:2016-12-28 来源:查字典编辑
摘要:1、获取视频缩略图有两个方法(1)通过内容提供器来获取(2)人为创建缩略图(1)缺点就是必须更新媒体库才能看到最新的视频的缩略图[java]...

1、获取视频缩略图有两个方法(1)通过内容提供器来获取(2)人为创建缩略图

(1)缺点就是必须更新媒体库才能看到最新的视频的缩略图

[java]

复制代码 代码如下:

/**

* @param context

* @param cr

* @param Videopath

* @return

*/

public static Bitmap getVideoThumbnail(Context context, ContentResolver cr, String Videopath) {

ContentResolver testcr = context.getContentResolver();

String[] projection = { MediaStore.Video.Media.DATA, MediaStore.Video.Media._ID, };

String whereClause = MediaStore.Video.Media.DATA + " = '" + Videopath + "'";

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);

} while (cursor.moveToNext());

}

cursor.close();

BitmapFactory.Options options = new BitmapFactory.Options();

options.inDither = false;

options.inPreferredConfig = Bitmap.Config.RGB_565;

Bitmap bitmap = MediaStore.Video.Thumbnails.getThumbnail(cr, _id, Images.Thumbnails.MINI_KIND,

options);

return bitmap;

}

/**

* @param context

* @param cr

* @param Videopath

* @return

*/

public static Bitmap getVideoThumbnail(Context context, ContentResolver cr, String Videopath) {

ContentResolver testcr = context.getContentResolver();

String[] projection = { MediaStore.Video.Media.DATA, MediaStore.Video.Media._ID, };

String whereClause = MediaStore.Video.Media.DATA + " = '" + Videopath + "'";

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);

} while (cursor.moveToNext());

}

cursor.close();

BitmapFactory.Options options = new BitmapFactory.Options();

options.inDither = false;

options.inPreferredConfig = Bitmap.Config.RGB_565;

Bitmap bitmap = MediaStore.Video.Thumbnails.getThumbnail(cr, _id, Images.Thumbnails.MINI_KIND,

options);

return bitmap;

}(2)人为创建缩略图要耗费一点时间

[java]

复制代码 代码如下:

/**

* 获取视频缩略图

* @param videoPath

* @param width

* @param height

* @param kind

* @return

*/

private 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;

}

/**

* 获取视频缩略图

* @param videoPath

* @param width

* @param height

* @param kind

* @return

*/

private 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;

}

2、图片缩略图

[java]

复制代码 代码如下:

/**

*

* @param context

* @param cr

* @param Imagepath

* @return

*/

public static Bitmap getImageThumbnail(Context context, ContentResolver cr, String Imagepath) {

ContentResolver testcr = context.getContentResolver();

String[] projection = { MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID, };

String whereClause = MediaStore.Images.Media.DATA + " = '" + Imagepath + "'";

Cursor cursor = testcr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, whereClause,

null, null);

int _id = 0;

String imagePath = "";

if (cursor == null || cursor.getCount() == 0) {

return null;

}

if (cursor.moveToFirst()) {

int _idColumn = cursor.getColumnIndex(MediaStore.Images.Media._ID);

int _dataColumn = cursor.getColumnIndex(MediaStore.Images.Media.DATA);

do {

_id = cursor.getInt(_idColumn);

imagePath = cursor.getString(_dataColumn);

} while (cursor.moveToNext());

}

cursor.close();

BitmapFactory.Options options = new BitmapFactory.Options();

options.inDither = false;

options.inPreferredConfig = Bitmap.Config.RGB_565;

Bitmap bitmap = MediaStore.Images.Thumbnails.getThumbnail(cr, _id, Images.Thumbnails.MINI_KIND,

options);

return bitmap;

}

/**

*

* @param context

* @param cr

* @param Imagepath

* @return

*/

public static Bitmap getImageThumbnail(Context context, ContentResolver cr, String Imagepath) {

ContentResolver testcr = context.getContentResolver();

String[] projection = { MediaStore.Images.Media.DATA, MediaStore.Images.Media._ID, };

String whereClause = MediaStore.Images.Media.DATA + " = '" + Imagepath + "'";

Cursor cursor = testcr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, whereClause,

null, null);

int _id = 0;

String imagePath = "";

if (cursor == null || cursor.getCount() == 0) {

return null;

}

if (cursor.moveToFirst()) {

int _idColumn = cursor.getColumnIndex(MediaStore.Images.Media._ID);

int _dataColumn = cursor.getColumnIndex(MediaStore.Images.Media.DATA);

do {

_id = cursor.getInt(_idColumn);

imagePath = cursor.getString(_dataColumn);

} while (cursor.moveToNext());

}

cursor.close();

BitmapFactory.Options options = new BitmapFactory.Options();

options.inDither = false;

options.inPreferredConfig = Bitmap.Config.RGB_565;

Bitmap bitmap = MediaStore.Images.Thumbnails.getThumbnail(cr, _id, Images.Thumbnails.MINI_KIND,

options);

return bitmap;

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类