SVGAPlayer-Web

Similar to Lottie. Render After Effects / Animate CC (Flash) animations natively on Android and iOS, Web. 使用 SVGAPlayer 在 Android、iOS、Web中播放 After Effects / Animate CC (Flash) 动画。

  • 所有者: svga/SVGAPlayer-Web
  • 平台:
  • 许可证: Apache License 2.0
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

SVGAPlayer-Web

Language: 中文

SVGAPlayer 现已支持在微信小程序播放动画,详情请参阅

News

Can I Use

SVGAPlayer 2.0.0 only supports below browsers.

  • Edge / IE 6+
  • Safari / Chrome
  • iOS 6.0+ / Android 4.0+

SVGAPlayer 2.0.0 also supports below Game Engines.

Install

Prebuild JS

  1. Add <script src="https://cdn.jsdelivr.net/npm/svgaplayerweb@2.3.1/build/svga.min.js"></script> to your.html

NPM

  1. npm install svgaplayerweb --save
  2. Add require('svgaplayerweb') to xxx.js

IE6 ~ IE9

  • IE6+ only supports 2.x format.
  • You couldn't use npm to install SVGA library.
  1. Add SVGAPlayerWeb.swf to your.html locate directory.
  2. Add following code to your.html
<!--[if lt IE 10]> 
    <script src="../build/svga.ie.min.js"></script>
<![endif]-->
<!--[if gte IE 10]><!-->
    <script src="../build/svga.min.js"></script>
<!--<![endif]-->

Audio support

If your need to play audios, add howler.min.js to your html.

<script src="https://cdn.jsdelivr.net/npm/howler@2.0.15/dist/howler.core.min.js"></script>

Notice: audio plays needs browser support, some browser requires user interaction before playing.

SVGA-Format 1.x support

Both Prebuild & NPM, if you need to support SVGA-Format 1.x, add JSZip script to html.

<script src="//s1.yy.com/ued_web_static/lib/jszip/3.1.4/??jszip.min.js,jszip-utils.min.js" charset="utf-8"></script>

Usage

Load Animation Mannally

You may create Player and Parser by yourself.

  1. Add Div Tag.
<div id="demoCanvas" style="styles..."></div>
  1. Load Animation
var player = new SVGA.Player('#demoCanvas');
var parser = new SVGA.Parser('#demoCanvas'); // Must Provide same selector eg:#demoCanvas IF support IE6+
parser.load('rose_2.0.0.svga', function(videoItem) {
    player.setVideoItem(videoItem);
    player.startAnimation();
})

Load Animation Automatically

Assign canvas element properties as below.

<div src="rose_2.0.0.svga" loops="0" clearsAfterStop="true" style="styles..."></div>

Animation will play after Web-Page onload.

Replace Animation Images Dynamically

You can replace specific image by yourself, ask your designer tell you the ImageKey.

player.setImage('http://yourserver.com/xxx.png', 'ImageKey');

Add Text on Animation Image Dynamically

You can add text on specific image, ask your designer tell you the ImageKey.

player.setText('Hello, World!', 'ImageKey');
player.setText({ 
    text: 'Hello, World!', 
    family: 'Arial',
    size: "24px", 
    color: "#ffe0a4",
    offset: {x: 0.0, y: 0.0}
}, 'ImageKey'); // customize text styles.

Classes

SVGA.Player

You use SVGA.Player controls animation play and stop.

Properties

  • int loops; - Animation loop count, defaults to 0 means infinity loop.
  • BOOL clearsAfterStop; - defaults to true, means player will clear all contents after stop.
  • string fillMode; - defaults to Forward,optional Forward / Backward,fillMode = Forward,Animation will pause on last frame while finished,fillMode = Backward , Animation will pause on first frame.

Methods

  • constructor (canvas); - first params could be '#id' or CanvasHTMLElement
  • startAnimation(reverse: boolean = false); - start animation from zero frame.
  • startAnimationWithRange(range: {location: number, length: number}, reverse: boolean = false); - start animation in [location, location+length] frame range.
  • pauseAnimation(); - pause animation on current frame.
  • stopAnimation(); - stop animation, clear contents while clearsAfterStop === true
  • setContentMode(mode: "Fill", "AspectFill", "AspectFit"); - Specific Scale Mode
  • setClipsToBounds(clipsToBounds: boolean); - Clips if image render out of box.
  • clear(); - force clear contents.
  • stepToFrame(frame: int, andPlay: Boolean); - stop to specific frame, play animation while andPlay === true
  • stepToPercentage(percentage: float, andPlay: Boolean); - stop to specific percentage, play animation while andPlay === true
  • setImage(image: string, forKey: string, transform: [a, b, c, d, tx, ty]); - Replace Animation Images Dynamically, transform is optional, transform could adjust replacing image.
  • setText(text: string, {text: string, family: string, size: string, color: string, offset: {x: float, y: float}}, forKey: string); - Add Text on Animation Image Dynamically
  • clearDynamicObjects(); - clear all dynamic objects.

Callback Method

  • onFinished(callback: () => void): void; - call after animation stop.
  • onFrame(callback: (frame: number): void): void; - call after animation specific frame rendered.
  • onPercentage(callback: (percentage: number): void): void; - call after animation specific percentage rendered.

SVGA.Parser

You use SVGA.Parser load VideoItem from remote or Base64 string.

Only Cross-Domain allow files could be loaded.

If you eager to load resources from Base64 or File, deliver as load(File) or load('data:svga/2.0;base64,xxxxxx').

Methods

  • constructor();
  • load(url: string, success: (videoItem: VideoEntity) => void, failure: (error: Error) => void): void;

Issues

Android 4.x Breaks

As known, some Android OS lack Blob support, add Blob Polyfill by yourself.

<script src="//cdn.bootcss.com/blob-polyfill/1.0.20150320/Blob.min.js"></script>

主要指标

概览
名称与所有者svga/SVGAPlayer-Web
主编程语言JavaScript
编程语言HTML (语言数: 2)
平台
许可证Apache License 2.0
所有者活动
创建于2017-03-30 06:21:06
推送于2023-02-06 06:34:16
最后一次提交2023-02-06 14:34:16
发布数11
最新版本名称2.1.0 (发布于 2018-01-11 12:13:18)
第一版名称1.1.0 (发布于 2017-07-10 09:42:38)
用户参与
星数1k
关注者数29
派生数242
提交数247
已启用问题?
问题数155
打开的问题数43
拉请求数19
打开的拉请求数17
关闭的拉请求数3
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?