首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Glide Picasso不会加载本地存储的视频的缩略图路径

Glide Picasso不会加载本地存储的视频的缩略图路径
EN

Stack Overflow用户
提问于 2018-05-29 23:09:46
回答 1查看 831关注 0票数 2

我正在尝试在回收器视图中加载sdcard中的所有视频文件。我还想要视频的缩略图,所以这里是我的代码来检索视频的缩略图

代码语言:javascript
复制
var thumbColumns = arrayOf(MediaStore.Video.Thumbnails.DATA)
fun getThumbnailPathForLocalFile(fileId:Long): String?{

        var thumbCursor: Cursor? = null
        try {

            thumbCursor = contentResolver.query(
                    MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI,
                    thumbColumns, MediaStore.Video.Thumbnails.VIDEO_ID + " = "
                    + fileId, null, null)

            if (thumbCursor!!.moveToFirst()) {
                Toast.makeText(applicationContext, thumbCursor.getString(thumbCursor
                        .getColumnIndex(MediaStore.Video.Thumbnails.DATA)),Toast.LENGTH_LONG).show()

                return thumbCursor.getString(thumbCursor
                        .getColumnIndex(MediaStore.Video.Thumbnails.DATA))
            }

        } finally {
            thumbCursor?.close()
        }

        return null
    }

该方法返回以下路径/storage/emulated/0/DCIM/.thumbnails/1526834275076.jpg

以下是我尝试使用glide加载图像的方法

video.thumbnailUrl/storage/emulated/0/DCIM/.thumbnails/1526834275076.jpg

1)

代码语言:javascript
复制
GlideApp.with(context)
                .load(Uri.fromFile(File(video.thumbnailUrl)))
                .into(holder.thumbnail)

2)

代码语言:javascript
复制
GlideApp.with(context)
                    .load("file:///"+video.thumbnailUrl)
                    .into(holder.thumbnail)

3)

代码语言:javascript
复制
GlideApp.with(context)
                    .load("file://"+video.thumbnailUrl)
                    .into(holder.thumbnail)

4)

代码语言:javascript
复制
GlideApp.with(context)
                    .load(video.thumbnailUrl)))
                    .into(holder.thumbnail)

Picasso也做了同样的事情。我甚至尝试过使用旧版本的Glide,但仍然一无所获。大多数Stack Overflow问题都提到了第一种方法,但它不适用于我。我尝试了从19到27的所有Android版本,但无法加载图像。

我在所有情况下都没有得到这样的文件或目录,但很明显文件是存在的,否则我就不会从getThumbnailPathForLocalFile函数中获得路径。我已经添加了读取存储权限。我获取视频缩略图的方式正确吗?

EN

回答 1

Stack Overflow用户

发布于 2018-06-01 04:31:14

第一次使用毕加索最新的gradle:

代码语言:javascript
复制
implementation 'com.squareup.picasso:picasso:2.71828'

然后,您可以简单地这样做:

代码语言:javascript
复制
String filePath = "/mnt/sdcard/myimg.png";
Picasso.get().load(new File(filePath)).into(imageView);
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50587681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档