Im Moment besteht meine Problemumgehung darin, eine Coroutine zu verwenden, die das Poster eine Sekunde lang sichtbar hält und es dann ausblendet, wenn die Wiedergabe des Videos beginnt. Das fühlt sich wie ein Hack an, und ich bin mir nicht sicher, ob das der richtige oder empfohlene Ansatz ist.
Für die Videowiedergabe verwende ich die folgende Bibliothek:
https://github.com/Chaintech-Network/Co ... ediaPlayer
Für Best Practices oder Beispiele wäre ich sehr dankbar.
Hier ist ein Teil meines Codes:
Code: Select all
if (product.assetType == AssetType.VIDEO) {
Box(
modifier = Modifier
.fillMaxWidth()
.height(290.dp)
) {
if (!showVideo) {
AsyncImage(
model = product.imageUrl,
contentDescription = "Preview",
modifier = Modifier.fillMaxSize().zIndex(2f),
contentScale = ContentScale.Crop
)
}
VideoPlayerComposable(
modifier = Modifier.fillMaxSize(),
playerHost = playerHost,
playerConfig = VideoPlayerConfig(
showControls = false,
isSeekBarVisible = false,
isZoomEnabled = false,
loadingIndicatorColor = Color.Transparent
)
)
}
} else {
AsyncImage(
model = product.imageUrl,
contentDescription = "Image",
modifier = Modifier.fillMaxWidth(),
contentScale = ContentScale.Crop
)
}
Mobile version