iOS开发-SVGA Animation实现直播间礼物特效

0.821字数 419阅读 5788

公司做的直播项目正处在优化阶段,前期仓促上线,所以直播间的礼物特效使用的是帧动画,勉强说得说去!

推荐阅读 iOS重拾直播系列-直播间礼物效果

SVGA Animation

全新的动画格式,高性能动画播放体验, SVGA 是一种同时兼容 iOS / Android / Web 多个平台的动画格式。

SVGA介绍

SVGA集成指南

SVGA集成指南

iOS

  • 使用 CocoaPods 集成源码,将以下依赖

  • pod 'SVGAPlayer'

  • 添加至 Podfile 文件。

  • 使用代码或 IB 添加 SVGAPlayer 至 View 中,具体方法参见:https://github.com/yyued/SVGAPlayer-iOS

Android

  • 使用 Gradle 集成源码,添加 JitPack.io 到 root build.gradle 中
allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }

Web

如何使用

简单集成的demo https://github.com/TsuiOS/SVGSDemo.git
参考文档或者官方Demo很容易集成! 后续直播项目中集成的时候再更新中间遇到的问题

三种方式加载动画

- (void)parseWithURL:(nonnull NSURL *)URL
     completionBlock:(void ( ^ _Nonnull )(SVGAVideoEntity * _Nullable videoItem))completionBlock
        failureBlock:(void ( ^ _Nullable)(NSError * _Nullable error))failureBlock;

- (void)parseWithData:(nonnull NSData *)data
             cacheKey:(nonnull NSString *)cacheKey
      completionBlock:(void ( ^ _Nullable)(SVGAVideoEntity * _Nonnull videoItem))completionBlock
         failureBlock:(void ( ^ _Nullable)(NSError * _Nonnull error))failureBlock;

- (void)parseWithNamed:(nonnull NSString *)named
              inBundle:(nullable NSBundle *)inBundle
       completionBlock:(void ( ^ _Nullable)(SVGAVideoEntity * _Nonnull videoItem))completionBlock
          failureBlock:(void ( ^ _Nullable)(NSError * _Nonnull error))failureBlock;


参考资料

开源代码
SVGA简介 SVGA-Format
SVGA示例动画 SVGA-Samples

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
  • 总想着这关过了就好了。没想到又一颗隐藏炸弹被发现,里面有小幸运也有大隐患。不知道会怎么样。很害怕。总是从心底升起一...
  • 最幸福的事莫过于,你爱的人也爱着你,你想念的人也想念着你。而我今天得到的不过是一句,哪有那么多话可说呢。这算不算最...
  • 第1章 绪论 131.1 什么是安全测试 131.2 什么是Web应用 171.3 Web应用基础 211.4 W...
  • 凡事太较真, 苦了心,累了自己。 有些事,你真别看清,看清,心痛。 有些人,你真别看懂,看懂,伤情。 人生看不惯的...