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

{user.username}

ID: {user.id}

模板 SDK 文档

  • 云渲染

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

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

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

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

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

模板创建

更新时间 : 2026-03-23 16:46:40

模板创建


标准模板创建流程

  1. 调用SXTemplate类的静态函数createWithFolder,并传入模板路径和TemplateUsage作为参数构建一个SXTemplate实例对象。
  2. 调用SXTemplate实例的setReplaceableJson函数,并传入需要替换素材的Json字符串作为参数来实现高级素材替换。
  3. (可选)在上一步中替换文字时需要设置文字生成图片缓存目录,调用SXTemplate实例的setDrawTextCacheDir函数,并传入缓存目录作为参数。
  4. (可选)开启素材预加载,开启后会提升渲染速度,同时会增加内存的使用,小内存手机谨慎启用,调用SXTemplate实例的enableSourcePrepare函数。
  5. 调用SXTemplate实例的commit函数创建渲染对象。
  6. (可选)利用UI Key等自定义逻辑对模板渲染对象进行精细修改调节。
  7. (可选)调用SXTemplateRender的构造函数,并传入SXTemplate实例、输出文件、渲染回调作为参数构建一个SXTemplateRender实例对象。
  8. 调用SXTemplateRender实例的start方法开始渲染。

    代码示例

    let path: string = "";//模板根目录
    let json: string = "";//替换资源json
    let mTemplate: SXTemplate = SXTemplate.createWithFolder(path, SXTemplate.TemplateUsage.kForRender);
    mTemplate.setReplaceableJson(json);
    mTemplate.enableSourcePrepare(true);//可选
    mTemplate.setDrawTextCacheDir(getContext().cacheDir);
    mTemplate.commit();
    String outputPath = "";//生成的视频路径
    let renderer: SXTemplateRender = new SXTemplateRenderer(mTemplate, outputPath, {
     onProgress: (p: number) => {
         hilog.info(0x0000, 'SXVideoEngine', 'progress %{public}d', p);
     },
     onError: (errCode: number, errMsg: string) => {
         hilog.info(0x0000, 'SXVideoEngine', 'error %{public}s:%{public}s', errCode, errMsg);
     },
     onFinish: () => {
         hilog.info(0x0000, 'SXVideoEngine', 'finished');
     },
     onCancel: () => {
         hilog.info(0x0000, 'SXVideoEngine', 'canceled');
     }
    })
    renderer.start();
    

    错误码

    NO_ERROR = 0;
    UNKNOWN_ERROR = 1; // 其它异常,可在onFinish回调的msg参数中查看具体信息
    CANCELLED = 2; // 渲染取消
    LICENSE_ERROR = 3; // license包名不匹配,过期,不包含模板所需所有功能等错误
    CODEC_ERROR = 4; // 硬件编码器MediaCodec配置错误
    NETWORK_ERROR = 5; // 按次付费类型请求网络异常
    AUDIO_NOT_SUPPORT = 6; //音频文件不支持
    ```
首页 > 模板创建
模板创建
更新时间 : 2026-03-23 16:46:40
  • 云渲染
    • Demo下载
    • SDK
    • 开发指南
    • AI API 文档
    • 开发者 API 文档
    • 控制台指南
    • 快速入门
    • 产品简介
  • 模板SDK
    • 用户常见问题
    • Demo 下载
    • 开发指南
    • 服务端 SDK
    • 鸿蒙 SDK
    • iOS SDK
    • 安卓端 SDK
    • 产品简介
  • 剪辑SDK
    • Demo下载
    • SDK
    • 开发指南
    • 产品简介
  • 模板制作教程
    • 模板制作进阶教程
    • 测试模板素材案例下载
    • 常见模板制作案例
    • 模板制作教程
    • 模板制作工具下载
    • 入门指南
  • 剪辑制作教程
    • 剪辑特效导出教程
    • 剪辑特效测试素材
    • 剪辑特效制作工具下载
    • 入门指南

模板创建


标准模板创建流程

  1. 调用SXTemplate类的静态函数createWithFolder,并传入模板路径和TemplateUsage作为参数构建一个SXTemplate实例对象。
  2. 调用SXTemplate实例的setReplaceableJson函数,并传入需要替换素材的Json字符串作为参数来实现高级素材替换。
  3. (可选)在上一步中替换文字时需要设置文字生成图片缓存目录,调用SXTemplate实例的setDrawTextCacheDir函数,并传入缓存目录作为参数。
  4. (可选)开启素材预加载,开启后会提升渲染速度,同时会增加内存的使用,小内存手机谨慎启用,调用SXTemplate实例的enableSourcePrepare函数。
  5. 调用SXTemplate实例的commit函数创建渲染对象。
  6. (可选)利用UI Key等自定义逻辑对模板渲染对象进行精细修改调节。
  7. (可选)调用SXTemplateRender的构造函数,并传入SXTemplate实例、输出文件、渲染回调作为参数构建一个SXTemplateRender实例对象。
  8. 调用SXTemplateRender实例的start方法开始渲染。

    代码示例

    let path: string = "";//模板根目录
    let json: string = "";//替换资源json
    let mTemplate: SXTemplate = SXTemplate.createWithFolder(path, SXTemplate.TemplateUsage.kForRender);
    mTemplate.setReplaceableJson(json);
    mTemplate.enableSourcePrepare(true);//可选
    mTemplate.setDrawTextCacheDir(getContext().cacheDir);
    mTemplate.commit();
    String outputPath = "";//生成的视频路径
    let renderer: SXTemplateRender = new SXTemplateRenderer(mTemplate, outputPath, {
     onProgress: (p: number) => {
         hilog.info(0x0000, 'SXVideoEngine', 'progress %{public}d', p);
     },
     onError: (errCode: number, errMsg: string) => {
         hilog.info(0x0000, 'SXVideoEngine', 'error %{public}s:%{public}s', errCode, errMsg);
     },
     onFinish: () => {
         hilog.info(0x0000, 'SXVideoEngine', 'finished');
     },
     onCancel: () => {
         hilog.info(0x0000, 'SXVideoEngine', 'canceled');
     }
    })
    renderer.start();
    

    错误码

    NO_ERROR = 0;
    UNKNOWN_ERROR = 1; // 其它异常,可在onFinish回调的msg参数中查看具体信息
    CANCELLED = 2; // 渲染取消
    LICENSE_ERROR = 3; // license包名不匹配,过期,不包含模板所需所有功能等错误
    CODEC_ERROR = 4; // 硬件编码器MediaCodec配置错误
    NETWORK_ERROR = 5; // 按次付费类型请求网络异常
    AUDIO_NOT_SUPPORT = 6; //音频文件不支持
    ```