gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 14:12:27 27 4
gpt4 key购买 nike

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

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)

GlideApp.with(context)
.load(Uri.fromFile(File(video.thumbnailUrl)))
.into(holder.thumbnail)

2)

GlideApp.with(context)
.load("file:///"+video.thumbnailUrl)
.into(holder.thumbnail)

3)

GlideApp.with(context)
.load("file://"+video.thumbnailUrl)
.into(holder.thumbnail)

4)

GlideApp.with(context)
.load(video.thumbnailUrl)))
.into(holder.thumbnail)

Picasso 也是如此。我什至尝试使用旧版本的 Glide 但仍然没有。大多数 Stack Overflow 问题都提到了第一种方式,但它对我不起作用。我已尝试从 19 到 27 的所有 Android 版本,但无法加载图像。

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

最佳答案

首先使用picasso最新的gradle:

implementation 'com.squareup.picasso:picasso:2.71828'

然后你可以简单地这样做:

String filePath = "/mnt/sdcard/myimg.png";
Picasso.get().load(new File(filePath)).into(imageView);

关于android - Glide Picasso 不会加载本地存储视频的缩略图路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50587681/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com