public
static
ArrayList<PFile>batchBuildThumbnail(
final
Contextctx,
final
ArrayList<File>files){
ArrayList<PFile>result= new ArrayList<PFile>();
for (Filef:files){
PFilepf= new PFile();
try {
if (f.exists()&&f.canRead()){
// 取出视频的一帧图像
Bitmapbitmap=ThumbnailUtils.createVideoThumbnail(ctx,f.getAbsolutePath(),Video.Thumbnails.MINI_KIND);
if (bitmap== null ){
// 缩略图创建失败
bitmap=Bitmap.createBitmap(ThumbnailUtils.TARGET_SIZE_MINI_THUMBNAIL_WIDTH,ThumbnailUtils.TARGET_SIZE_MINI_THUMBNAIL_HEIGHT,Bitmap.Config.RGB_565);
Log.e(TAG,"batchBuildThumbnailcreateBitmapfaild:"+f.getAbsolutePath());
}
pf.width=bitmap.getWidth();
pf.height=bitmap.getHeight();
// 缩略图
bitmap=ThumbnailUtils.extractThumbnail(bitmap,ThumbnailUtils.dipToPX(ctx,ThumbnailUtils.TARGET_SIZE_MICRO_THUMBNAIL_WIDTH),ThumbnailUtils.dipToPX(ctx,ThumbnailUtils.TARGET_SIZE_MICRO_THUMBNAIL_HEIGHT),ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
if (bitmap!= null ){
Filethum= new File(f.getParent(),f.getName()+".jpg");
pf.thumb=thum.getAbsolutePath();
// thum.createNewFile();
FileOutputStreamiStream= new FileOutputStream(thum);
bitmap.compress(Bitmap.CompressFormat.JPEG,85,iStream);
iStream.close();
}
if (bitmap!= null )
bitmap.recycle();
}
} catch (Exceptione){
Log.e(TAG,e);
continue ;
} finally {
result.add(pf);
}
}
return result;
ArrayList<PFile>result= new ArrayList<PFile>();
for (Filef:files){
PFilepf= new PFile();
try {
if (f.exists()&&f.canRead()){
// 取出视频的一帧图像
Bitmapbitmap=ThumbnailUtils.createVideoThumbnail(ctx,f.getAbsolutePath(),Video.Thumbnails.MINI_KIND);
if (bitmap== null ){
// 缩略图创建失败
bitmap=Bitmap.createBitmap(ThumbnailUtils.TARGET_SIZE_MINI_THUMBNAIL_WIDTH,ThumbnailUtils.TARGET_SIZE_MINI_THUMBNAIL_HEIGHT,Bitmap.Config.RGB_565);
Log.e(TAG,"batchBuildThumbnailcreateBitmapfaild:"+f.getAbsolutePath());
}
pf.width=bitmap.getWidth();
pf.height=bitmap.getHeight();
// 缩略图
bitmap=ThumbnailUtils.extractThumbnail(bitmap,ThumbnailUtils.dipToPX(ctx,ThumbnailUtils.TARGET_SIZE_MICRO_THUMBNAIL_WIDTH),ThumbnailUtils.dipToPX(ctx,ThumbnailUtils.TARGET_SIZE_MICRO_THUMBNAIL_HEIGHT),ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
if (bitmap!= null ){
Filethum= new File(f.getParent(),f.getName()+".jpg");
pf.thumb=thum.getAbsolutePath();
// thum.createNewFile();
FileOutputStreamiStream= new FileOutputStream(thum);
bitmap.compress(Bitmap.CompressFormat.JPEG,85,iStream);
iStream.close();
}
if (bitmap!= null )
bitmap.recycle();
}
} catch (Exceptione){
Log.e(TAG,e);
continue ;
} finally {
result.add(pf);
}
}
return result;