扫一扫咨询方案
首页
登录/注册

{user.username}

ID: {user.id}

模板 SDK 文档

  • 云渲染

    • Demo下载
    • SDK
    • 开发指南
    • AI API 文档
    • 开发者 API 文档
    • 控制台指南
    • 快速入门
    • 产品简介
  • 模板SDK

    • 用户常见问题
    • Demo 下载
    • 开发指南
    • 服务端 SDK
    • iOS SDK
    • 安卓端 SDK
    • 产品简介
  • 剪辑SDK

    • Demo下载
    • SDK
    • 开发指南
    • 产品简介
  • 模板制作教程

    • 模板制作进阶教程
    • 测试模板素材案例下载
    • 常见模板制作案例
    • 模板制作教程
    • 模板制作工具下载
    • 入门指南
  • 剪辑制作教程

    • 剪辑特效导出教程
    • 剪辑特效测试素材
    • 剪辑特效制作工具下载
    • 入门指南
产品简介
安卓端 SDK
iOS SDK
服务端 SDK
开发指南
Demo 下载
用户常见问题
首页 > 安卓端 SDK > 动态模板接入 > 预览

预览

更新时间 : 2021-08-02 10:22:26

动态模板预览


动态模板预览流程

  1. 调用SXTemplate类的构造函数,并传入模板路径和SXTemplate.TemplateUsage.kForPreview作为参数构建一个SXTemplate实例对象。
  2. 调用SXTemplate实例的setReplaceableJson函数,并传入需要替换素材的Json字符串作为参数来实现高级素材替换。
  3. (可选)在上一步中替换文字时需要设置文字生成图片缓存目录,调用SXTemplate实例的setDrawTextCacheDir函数,并传入缓存目录作为参数。
  4. (可选)开启素材预加载,开启后会提升渲染速度,同时会增加内存的使用,小内存手机谨慎启用,调用SXTemplate实例的enableSourcePrepare函数。
  5. 调用SXTemplate实例的commit函数创建渲染对象。
  6. 调用SXPlayerSurfaceView实例对象的setTemplate方法并传入SXTemplate实例对象作为参数,构建一个SXTemplatePlayer实例对象。
  7. 调用SXPlayerSurfaceView实例对象的setPlayCallback方法监听播放进度的回调。
  8. 调用SXTemplatePlayer实例对象的play方法开启预览。

    代码示例

    String path = "";//模板根目录
    String json = "";//替换资源json
    SXTemplate mTemplate = new SXTemplate(path, SXTemplate.TemplateUsage.kForPreview);
    mTemplate.setReplaceableJson(json);
    mTemplate.commit();
    SXTemplatePlayer mPlayer = mPlayerView.setTemplate(template); //mPlayerView为SXPlayerSurfaceView对象,可在布局xml中创建
    mPlayerView.setPlayCallback(new SXTemplatePlayer.PlayStateListener() {
    @Override
    public void onProgressChanged(int i) {
        //i为第几帧
    }
    @Override
    public void onFinish() {
        //结束回调
    }
    });
    mPlayer.start(); //开始预览

    注意事项

  9. 如模板复杂的话commit会比较耗时,如要避免卡顿应放在线程里。
首页 > 安卓端 SDK > 动态模板接入 > 预览
预览
更新时间 : 2021-08-02 10:22:26
  • 云渲染
    • Demo下载
    • SDK
    • 开发指南
    • AI API 文档
    • 开发者 API 文档
    • 控制台指南
    • 快速入门
    • 产品简介
  • 模板SDK
    • 用户常见问题
    • Demo 下载
    • 开发指南
    • 服务端 SDK
    • iOS SDK
    • 安卓端 SDK
    • 产品简介
  • 剪辑SDK
    • Demo下载
    • SDK
    • 开发指南
    • 产品简介
  • 模板制作教程
    • 模板制作进阶教程
    • 测试模板素材案例下载
    • 常见模板制作案例
    • 模板制作教程
    • 模板制作工具下载
    • 入门指南
  • 剪辑制作教程
    • 剪辑特效导出教程
    • 剪辑特效测试素材
    • 剪辑特效制作工具下载
    • 入门指南

动态模板预览


动态模板预览流程

  1. 调用SXTemplate类的构造函数,并传入模板路径和SXTemplate.TemplateUsage.kForPreview作为参数构建一个SXTemplate实例对象。
  2. 调用SXTemplate实例的setReplaceableJson函数,并传入需要替换素材的Json字符串作为参数来实现高级素材替换。
  3. (可选)在上一步中替换文字时需要设置文字生成图片缓存目录,调用SXTemplate实例的setDrawTextCacheDir函数,并传入缓存目录作为参数。
  4. (可选)开启素材预加载,开启后会提升渲染速度,同时会增加内存的使用,小内存手机谨慎启用,调用SXTemplate实例的enableSourcePrepare函数。
  5. 调用SXTemplate实例的commit函数创建渲染对象。
  6. 调用SXPlayerSurfaceView实例对象的setTemplate方法并传入SXTemplate实例对象作为参数,构建一个SXTemplatePlayer实例对象。
  7. 调用SXPlayerSurfaceView实例对象的setPlayCallback方法监听播放进度的回调。
  8. 调用SXTemplatePlayer实例对象的play方法开启预览。

    代码示例

    String path = "";//模板根目录
    String json = "";//替换资源json
    SXTemplate mTemplate = new SXTemplate(path, SXTemplate.TemplateUsage.kForPreview);
    mTemplate.setReplaceableJson(json);
    mTemplate.commit();
    SXTemplatePlayer mPlayer = mPlayerView.setTemplate(template); //mPlayerView为SXPlayerSurfaceView对象,可在布局xml中创建
    mPlayerView.setPlayCallback(new SXTemplatePlayer.PlayStateListener() {
    @Override
    public void onProgressChanged(int i) {
        //i为第几帧
    }
    @Override
    public void onFinish() {
        //结束回调
    }
    });
    mPlayer.start(); //开始预览

    注意事项

  9. 如模板复杂的话commit会比较耗时,如要避免卡顿应放在线程里。