2.1.0 • Published 1 year ago

e-svga v2.1.0

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

E-SVGA

高性能 SVGA 动画播放器

Feature

  • 支持多 Web Worker、离屏播放,性能直接拉满
  • 智能识别播放环境,并根据项目编译环境进行代码适配
  • 支持 Image Key 以及 Svga Key svga里面插入svga
  • 经历超大型项目、高频多个动画同时播放的高性能需求验证

Install

npm i e-svga
pnpm add e-svga

Use

import {svgaPlayer} from '@yy/svga'
svgaPlayer({
    url: `remote url`,
    container:document.getElementById('emp-root'), // emp v3.0 为例
    useOffscreenCanvas: true,  //启动离屏
    useWebworker: true,        //启动多线程播放
    useDBCache: true,          //启动 IndexDB 存储 svga 文件
}).then(svga => {
    svga.start()               // 开始播放
})

Config

常规配置

配置项描述类型默认值
url必填, SVGA 地址 http 或 base64string
urlTypeURL 类型http | base64http
swapTexts需要填充的自定义 text 信息CanvasFontParams[]
swapImages需要填充的自定义图片信息CanvasImageParams[]
container必填, div HTML 容器HTMLElement
loop循环播放次数number | boolean
fillMode填充模式PLAYER_FILL_MODE
playMode播放模式PLAYER_PLAY_MODE
startFrame开始播放帧number
endFrame结束播放帧number
useFrameCache启用帧缓存booleanfalse
useIntersectionObserver监听容器是否处于浏览器视窗内,会根据实际环境自动判断booleantrue
useWebworker启用多进程,会根据实际环境自动判断booleantrue
useDBCache保存 SVGA 数据到 IndexDBboolean
useBitmap启用 bitmap 代替 base64,worker 模式下必须 true,会根据实际环境自动判断boolean
useOffscreenCanvas启用离屏,worker 模式下必须 true,会根据实际环境自动判断boolean
logLevel日志打印级别LogTypes
checkTimeout播放超时开关boolean
clearAfterStop播放结束后是否删除画面booleantrue
showPlayerInfo是否显示播放状态booleantrue
smooth是否平滑处理booleantrue
onGetConfig获取配置内容(op: any, options: ESvgaParamsI) => void
resizeCanvas设置 canvas 大小ResizeCanvasTypepercent
delayDestroyGap延迟释放时间 msnumber

事件回调

事件描述类型
onStart监听 startEventCallback
onResume监听 resumeEventCallback
onPause监听 pauseEventCallback
onStop监听 stopEventCallback
onProcess监听 processEventCallback
onLoopCount监听 loopCountEventCallback
onEnd监听 endEventCallback
onError监听 errorEventCallback
beforeStart监听 beforeStartEventCallback

方法

方法描述类型
setup实例化() => Promise
start开始播放() => void
resume继续播放() => void
pause暂停播放() => void
stop停止播放() => void
clear清屏() => void
destroy注销播放器() => void
stepToFramePC 客户端专属方法(frame: number, andPlay: boolean) => void
setWindowStatePC 客户端专属方法(state: WINDOW_VISIBLE_STATE) => void
getBitmapsCache获取缓存帧内容(): Promise
addSwapImageText添加 Text KeyGetClassFn'addSwapImageText'
addSwapImage添加 Image KeyGetClassFn'addSwapImage'
addSwapImageList添加 Image List KeyGetClassFn'addSwapImageList'
addSwapSvga添加 SVGA KeyGetClassFn'addSwapSvga'
grayImage置灰 Image KeyGetClassFn'grayImage'
2.0.5

1 year ago

2.1.0

1 year ago

2.0.4

1 year ago

2.0.3

1 year ago

2.0.2

1 year ago