目前,我正在使用毕加索将MediaStore图像缩略图加载到ListView
中,其中包含以下代码片段:(video.getData()
返回图像的实际路径,如mnt/sdcard/...
)
Picasso.with(this.context)
.load(new File(photo.getData()))
.resize(50, 50).config(config)
.centerCrop()
.into(viewHolder.imageViewItem);
现在我无法通过传递video.getData()
而不是photo.getData()
来加载MediaStore视频缩略图
发布于 2014-11-13 05:47:24
以前,你有两个选择:
1)事先打个电话,比如检索视频和存储位图时:
Bitmap thumbnailBitmap = MediaStore.Video.Thumbnails.getThumbnail(content, id, MediaStore.Video.Thumbnails.MINI_KIND, options);
2)创建自定义下载器(本地媒体未验证)
但现在,有了毕加索2.4,你就可以创建RequestHandler了。您可以查看此页面,例如:http://blog.jpardogo.com/requesthandler-api-for-picasso-library/
在我当前的使用中,我获取缩略图路径,然后使用该路径调用Picasso。要获取缩略图路径,我参考了:android get video thumbnail PATH, not Bitmap。
发布于 2017-07-07 22:52:54
public void bindTo(MediaListHolder mediaListRowHolder, int i) {
DataPictures message = itemList.get(i);
try {
Uri uri = Uri.fromFile(new File(message.getFilePath()));
if (message.getFileType().equalsIgnoreCase("video")) {
Bitmap bmThumbnail = ThumbnailUtils.extractThumbnail(ThumbnailUtils.createVideoThumbnail(message.getFilePath(),
MediaStore.Video.Thumbnails.FULL_SCREEN_KIND), MAX_WIDTH, MAX_HEIGHT);
mediaListRowHolder.thumbnail.setImageBitmap(bmThumbnail);
} else {
Picasso.with(ApplicationSingleton.getInstance()).load(uri)
.resize(size, size)
.placeholder(R.drawable.logo_slogan)
.into(mediaListRowHolder.thumbnail);
}
Log.i(TAG, "bindTo: ");
} catch (Exception e) {
e.printStackTrace();
}
}
https://stackoverflow.com/questions/24038294
复制相似问题