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

{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 下载
用户常见问题
首页 > iOS SDK > 标准模板接入 > 预览

预览

更新时间 : 2023-07-18 09:32:59

预览模板流程

  1. 调用SXTemplate类的构造函数,并传入模板路径和SXTemplateUsagePreview作为参数构建一个SXTemplate实例对象
  2. 调用SXTemplatePlayer类的initWithTemplate构造函数,并传入SXTemplate对象和背景音乐路径来创建一个SXTemplatePlayer实例对象
  3. 调用SXTemplatecommit方法创建渲染对象
  4. (可选) 利用UI Key等自定义逻辑对模板渲染对象进行精细修改调节
  5. 调用SXTemplatePlayer对象的getPlayerView方法来获取和播放器绑定的UIView对象,并将其加载到界面上用于显示预览画面
  6. 设置SXTemplatePlayer对象的 delegate 参数来设置播放状态监听委托对象
  7. 调用SXTemplatePlayer对象startseekpausestop等方法对播放状态进行控制

代码示例

//创建模板
SXTemplate *sxtemplate = [[SXTemplate alloc] init:_templatePath type:SXTemplateUsagePreview];

//在传入播放器前可以先执行素材添加替换代码

//创建播放器
self.indexTemplatePlayer = [[SXTemplatePlayer alloc] initWithTemplate:sxtemplate audioPath:@"musicPath"];
self.indexTemplatePlayer.delegate = self;

UIView *playView = [self.indexTemplatePlayer getPlayerView];
/* 获取配置文件内记录的主视频合成宽高,可根据实际需求用来调整 playView 的 frame
int videoWidth = [sxtemplate mainCompWidth];
int videoHeight = [sxtemplate mainCompHeight];
*/

playView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);

[sxtemplate commit];

播放控制

//暂停播放
[self.indexTemplatePlayer pause];
//播放跳转   second 表示新的时间进度,秒为单位
[self.indexTemplatePlayer seek:second];
//开始播放
[self.indexTemplatePlayer start];

预览进度,通过SXTemplatePlayerDelegateplayFrameIndex获取

/**
 * 播放进度更新  
 * @param frameIndex 当前播放的帧序列号  
 */
- (void)playFrameIndex:(NSInteger)frameIndex {

}

注意事项

  1. SXTemplate初始化时type类型为预览 SXTemplateUsagePreview
  2. 注意方法调用的顺序,顺序不对可能会导致异常
  3. 如果从相册里选择的素材需要进行裁剪,可以参考demo,SDK不提供素材预处理操作
  4. 对于预览方法来说,普通模板和动态模板调用方法一致
  5. SXTemplatePlayer 释放前调用 stop 方法释放资源stop 后需要重新调用 commit 方法,如果不是释放 player 暂停建议使用 pause 方法。
首页 > iOS SDK > 标准模板接入 > 预览
预览
更新时间 : 2023-07-18 09:32:59
  • 云渲染
    • Demo下载
    • SDK
    • 开发指南
    • AI API 文档
    • 开发者 API 文档
    • 控制台指南
    • 快速入门
    • 产品简介
  • 模板SDK
    • 用户常见问题
    • Demo 下载
    • 开发指南
    • 服务端 SDK
    • iOS SDK
    • 安卓端 SDK
    • 产品简介
  • 剪辑SDK
    • Demo下载
    • SDK
    • 开发指南
    • 产品简介
  • 模板制作教程
    • 模板制作进阶教程
    • 测试模板素材案例下载
    • 常见模板制作案例
    • 模板制作教程
    • 模板制作工具下载
    • 入门指南
  • 剪辑制作教程
    • 剪辑特效导出教程
    • 剪辑特效测试素材
    • 剪辑特效制作工具下载
    • 入门指南

预览模板流程

  1. 调用SXTemplate类的构造函数,并传入模板路径和SXTemplateUsagePreview作为参数构建一个SXTemplate实例对象
  2. 调用SXTemplatePlayer类的initWithTemplate构造函数,并传入SXTemplate对象和背景音乐路径来创建一个SXTemplatePlayer实例对象
  3. 调用SXTemplatecommit方法创建渲染对象
  4. (可选) 利用UI Key等自定义逻辑对模板渲染对象进行精细修改调节
  5. 调用SXTemplatePlayer对象的getPlayerView方法来获取和播放器绑定的UIView对象,并将其加载到界面上用于显示预览画面
  6. 设置SXTemplatePlayer对象的 delegate 参数来设置播放状态监听委托对象
  7. 调用SXTemplatePlayer对象startseekpausestop等方法对播放状态进行控制

代码示例

//创建模板
SXTemplate *sxtemplate = [[SXTemplate alloc] init:_templatePath type:SXTemplateUsagePreview];

//在传入播放器前可以先执行素材添加替换代码

//创建播放器
self.indexTemplatePlayer = [[SXTemplatePlayer alloc] initWithTemplate:sxtemplate audioPath:@"musicPath"];
self.indexTemplatePlayer.delegate = self;

UIView *playView = [self.indexTemplatePlayer getPlayerView];
/* 获取配置文件内记录的主视频合成宽高,可根据实际需求用来调整 playView 的 frame
int videoWidth = [sxtemplate mainCompWidth];
int videoHeight = [sxtemplate mainCompHeight];
*/

playView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);

[sxtemplate commit];

播放控制

//暂停播放
[self.indexTemplatePlayer pause];
//播放跳转   second 表示新的时间进度,秒为单位
[self.indexTemplatePlayer seek:second];
//开始播放
[self.indexTemplatePlayer start];

预览进度,通过SXTemplatePlayerDelegateplayFrameIndex获取

/**
 * 播放进度更新  
 * @param frameIndex 当前播放的帧序列号  
 */
- (void)playFrameIndex:(NSInteger)frameIndex {

}

注意事项

  1. SXTemplate初始化时type类型为预览 SXTemplateUsagePreview
  2. 注意方法调用的顺序,顺序不对可能会导致异常
  3. 如果从相册里选择的素材需要进行裁剪,可以参考demo,SDK不提供素材预处理操作
  4. 对于预览方法来说,普通模板和动态模板调用方法一致
  5. SXTemplatePlayer 释放前调用 stop 方法释放资源stop 后需要重新调用 commit 方法,如果不是释放 player 暂停建议使用 pause 方法。