返回项目
动画

VAP

透明通道视频动画

VAP 是一种带透明 alpha 通道的视频容器,适合播放短小但效果丰富的动画,并通过硬件加速解码保证流畅。本实现面向 Android 与 Desktop(JVM),提供与常见 Compose 动画一致的调用习惯:加载、驱动、渲染分层,暂停时保持热解码会话。

Android · Desktop / JVM · Compose

能力

  • Compose 原生:VapAnimation / VapSurfaceAnimation
  • Android:MediaCodec + Vulkan / GLES
  • Desktop:FFmpeg + Skiko
  • 可选 PNG → VAP 制作管线

快速上手

Playback.kt
val 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))