android - 如何在 Jetpack Compose 中显示视频缩略图?
问题描述
我正在使用 Jetpack Compose 实现一个简单的画廊屏幕,它在屏幕上显示所有视频和图像缩略图
我已成功显示来自文件路径的图像。但是,我在显示视频缩略图时遇到了麻烦。我怎么能用线圈做到这一点?
这是我显示图像缩略图的代码:
@Composable
fun ImageLoaderFromLocal(
url: String,
placeHolderResId: Int,
modifier: Modifier,
transformation: Transformation
) {
val painter = rememberImagePainter(data = File(url),
builder = {
placeholder(placeHolderResId)
crossfade(true)
transformations(transformation)
})
Image(
painter = painter,
contentDescription = null,
modifier = modifier,
contentScale = ContentScale.Inside
)
}
解决方案
根据 Coil文档,您需要添加以下依赖项:
implementation("io.coil-kt:coil-video:$coil_version")
并在构建器中指定 fetcher:
val context = LocalContext.current
val painter = rememberImagePainter(
data = url,
builder = {
fetcher(VideoFrameUriFetcher(context))
// optionally set frame location
videoFrameMillis(1000)
placeholder(placeHolderResId)
crossfade(true)
transformations(transformation)
}
)
推荐阅读
- fiware - 如何按类型获取实体数量?
- apache-spark - 分组表达式上的相关子查询 - TreeNodeException:绑定属性,树:count(1)#382L
- node.js - Redis在一个命令中获取一个键的TTL和值 - nodejs redis
- angular - 使用 $compile 寻找 angularJs 算法的角度解决方案
- bitcoinj - 尝试发送原始交易 bitoinj
- r - 如何列出具有特定前缀和后缀的所有对象?
- php - Laravel 5.6 路由模型与特定列的绑定;如何保持雄辩的关系
- javascript - PHP 和 HTML 的 $_POST 问题
- macos - 如何在 MacOS 中压缩文件夹而不在 zip 文件中创建额外的目录
- java - 使用 mockito 模拟具有通用方法的服务