【问题标题】:How to display video thumbnail in Jetpack Compose?如何在 Jetpack Compose 中显示视频缩略图?
【发布时间】:2021-09-27 02:01:54
【问题描述】:

我正在使用 Jetpack Compose 实现一个简单的画廊屏幕,它在屏幕上显示所有视频和图像缩略图

我已成功显示来自文件路径的图像。但是,我在显示视频缩略图时遇到了麻烦。如何使用 Coil 做到这一点?

这是我显示图像缩略图的代码:

@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
    )
}

【问题讨论】:

    标签: android android-jetpack-compose coil


    【解决方案1】:

    根据Coildocumentation,需要添加如下依赖:

    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)
        }
    )
    

    【讨论】:

    • 感谢@Philip Dukhov,您节省了我的时间。
    猜你喜欢
    • 2012-06-08
    • 1970-01-01
    • 2011-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多