如何使用方毕加索库加载视频缩略图? [英] How to load video thumbnails using square picasso library?
本文介绍了如何使用方毕加索库加载视频缩略图?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
目前我加载使用毕加索到的ListView
与下面的代码段MediaStore图片缩略图:( video.getData()
返回图像的实际路径,如 MNT / SD卡/...
)
Currently I'm loading MediaStore Image Thumbnails using picasso into the ListView
with the following snippet: (video.getData()
returns the actual path of the image such as mnt/sdcard/...
)
Picasso.with(this.context)
.load(new File(photo.getData()))
.resize(50, 50).config(config)
.centerCrop()
.into(viewHolder.imageViewItem);
现在,我并不能通过刚好路过加载MediaStore视频缩略图的 video.getData()
而不是 photo.getData()
?
Now I'm and unable to load the MediaStore Video Thumbnails by just passing the video.getData()
instead of photo.getData()
?
推荐答案
首先,您需要创建VideoRequestHandler
First You need to create VideoRequestHandler
public class VideoRequestHandler extends RequestHandler{
public String SCHEME_VIEDEO="video";
@Override
public boolean canHandleRequest(Request data)
{
String scheme = data.uri.getScheme();
return (SCHEME_VIEDEO.equals(scheme));
}
@Override
public Result load(Request data, int arg1) throws IOException
{
Bitmap bm = ThumbnailUtils.createVideoThumbnail(data.uri.getPath(), MediaStore.Images.Thumbnails.MINI_KIND);
return new Result(bm,LoadedFrom.DISK);
}
}
之后
VideoRequestHandler videoRequestHandler;
Picasso picassoInstance;
打造一次
videoRequestHandler=new VideoRequestHandler();
picassoInstance = new Picasso.Builder(context.getApplicationContext())
.addRequestHandler(videoRequestHandler)
.build();
从路径加载文件
load file from path
picassoInstance.load(videoRequestHandler.SCHEME_VIEDEO+":"+filepath).into(holder.videoThumbnailView);
这篇关于如何使用方毕加索库加载视频缩略图?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文