返回项目
动画
VAP
透明通道视频动画
VAP 是一种带透明 alpha 通道的视频容器,适合播放短小但效果丰富的动画,并通过硬件加速解码保证流畅。本实现面向 Android 与 Desktop(JVM),提供与常见 Compose 动画一致的调用习惯:加载、驱动、渲染分层,暂停时保持热解码会话。
Android · Desktop / JVM · Compose
能力
- Compose 原生:VapAnimation / VapSurfaceAnimation
- Android:MediaCodec + Vulkan / GLES
- Desktop:FFmpeg + Skiko
- 可选 PNG → VAP 制作管线
快速上手
Playback.ktval composition = remember(pathToMp4) {
loadVapComposition(VapCompositionSpec.File(pathToMp4))
}
val anim = animateVapCompositionAsState(
composition = composition,
iterations = VapConstants.IterateForever,
isPlaying = pageVisible,
)
VapAnimation(anim, modifier = Modifier.fillMaxWidth().height(320.dp))