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

{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 > 预览模板

预览模板

更新时间 : 2021-02-22 09:31:30

预览模板流程

  1. 调用SXTemplate类的构造函数,并传入模板路径和SXTemplateUsagePreview作为参数构建一个SXTemplate实例对象

  2. 调用SXTemplate对象的setReplaceableFilePaths方法传入用户自定义素材

  3. 调用SXTemplatePlayer类的initWithTemplate构造函数,并传入SXTemplate对象和背景音乐路径来创建一个SXTemplatePlayer实例对象

  4. 调用commit创建渲染对象

  5. (可选) 利用UI Key等自定义逻辑对模板渲染对象进行精细修改调节

  6. 调用SXTemplatePlayer对象的getPlayerView方法来获取和播放器绑定的UIView对象,并将其加载到界面上用于显示预览画面

  7. 设置SXTemplatePlayer对象的delegate参数来设置播放状态监听委托对象

  8. 调用SXTemplatePlayer对象startseekpausestop等方法对播放状态进行控制

示例代码

    SXTemplate *sxTemplate = [[SXTemplate alloc] init:@"Your template path" type:SXTemplateUsagePreview]; 
    [sxTemplate setReplaceableFilePaths:@[@"asset path"]];
    SXTemplatePlayer *player = [[SXTemplatePlayer alloc] initWithTemplate:sxTemplate audioPath:@"audio path"];
    UIView *playView = [player getPlayerView];
    int videoWidth = [sxTemplate mainCompWidth];
    int videoHeight = [sxTemplate mainCompHeight];
    CGFloat scale = videoHeight / self.view.bounds.size.height;
    playView.bounds = CGRectMake(0, 0, videoWidth / scale, self.view.bounds.size.height);
    playView.center = CGPointMake(self.view.bounds.size.width/2, self.view.bounds.size.height / 2);
    [self.view addSubview:playView];
    player.delegate = self;
    [sxTemplate commit];
    [player start];

SXTemplatePlayer生成视频文件

  1. SXTemplatePlayer只是实时预览,不可以直接生成视频文件。

  2. 但是SXTemplatePlayer提供录制方法,可以录制当前屏幕上正在渲染的画面,通过delegate回调获取结果。

    -(void)startRecord;// 开始录制当前预览的界面
    -(void)cancelRecord;//取消本次录制
    -(void)stopRecord;// 结束录制当前预览的界面
    -(BOOL)isRecord;// 是否正在录制

注意事项

  1. SXTemplate初始化时type类型为预览 SXTemplateUsagePreview

  2. 注意方法调用的顺序,顺序不对可能会导致异常

  3. 替换素材提供的图片路径需要是本地图片路径

    -(void) setReplaceableFilePaths:(NSArray<NSString*>*) filePaths;
  4. 如果从相册里选择的素材需要进行裁剪,可以参考demo,SDK不提供素材预处理操作

  5. 对于预览方法来说,普通模板和动态模板调用方法一致

  6. 在 SXTemplatePlayer 释放前调用 stop 方法释放资源, stop 后需要重新调用 commit 方法,如果不是释放 player 暂停建议使用 pause 方法。

  7. 由于屏幕刷新频率一秒60次,建议帧速率设置在15, 20, 30, 60中的一种,否则预览容易产生误差

首页 > iOS SDK > 预览模板
预览模板
更新时间 : 2021-02-22 09:31:30
  • 云渲染
    • Demo下载
    • SDK
    • 开发指南
    • AI API 文档
    • 开发者 API 文档
    • 控制台指南
    • 快速入门
    • 产品简介
  • 模板SDK
    • 用户常见问题
    • Demo 下载
    • 开发指南
    • 服务端 SDK
    • iOS SDK
    • 安卓端 SDK
    • 产品简介
  • 剪辑SDK
    • Demo下载
    • SDK
    • 开发指南
    • 产品简介
  • 模板制作教程
    • 模板制作进阶教程
    • 测试模板素材案例下载
    • 常见模板制作案例
    • 模板制作教程
    • 模板制作工具下载
    • 入门指南
  • 剪辑制作教程
    • 剪辑特效导出教程
    • 剪辑特效测试素材
    • 剪辑特效制作工具下载
    • 入门指南

预览模板流程

  1. 调用SXTemplate类的构造函数,并传入模板路径和SXTemplateUsagePreview作为参数构建一个SXTemplate实例对象

  2. 调用SXTemplate对象的setReplaceableFilePaths方法传入用户自定义素材

  3. 调用SXTemplatePlayer类的initWithTemplate构造函数,并传入SXTemplate对象和背景音乐路径来创建一个SXTemplatePlayer实例对象

  4. 调用commit创建渲染对象

  5. (可选) 利用UI Key等自定义逻辑对模板渲染对象进行精细修改调节

  6. 调用SXTemplatePlayer对象的getPlayerView方法来获取和播放器绑定的UIView对象,并将其加载到界面上用于显示预览画面

  7. 设置SXTemplatePlayer对象的delegate参数来设置播放状态监听委托对象

  8. 调用SXTemplatePlayer对象startseekpausestop等方法对播放状态进行控制

示例代码

    SXTemplate *sxTemplate = [[SXTemplate alloc] init:@"Your template path" type:SXTemplateUsagePreview]; 
    [sxTemplate setReplaceableFilePaths:@[@"asset path"]];
    SXTemplatePlayer *player = [[SXTemplatePlayer alloc] initWithTemplate:sxTemplate audioPath:@"audio path"];
    UIView *playView = [player getPlayerView];
    int videoWidth = [sxTemplate mainCompWidth];
    int videoHeight = [sxTemplate mainCompHeight];
    CGFloat scale = videoHeight / self.view.bounds.size.height;
    playView.bounds = CGRectMake(0, 0, videoWidth / scale, self.view.bounds.size.height);
    playView.center = CGPointMake(self.view.bounds.size.width/2, self.view.bounds.size.height / 2);
    [self.view addSubview:playView];
    player.delegate = self;
    [sxTemplate commit];
    [player start];

SXTemplatePlayer生成视频文件

  1. SXTemplatePlayer只是实时预览,不可以直接生成视频文件。

  2. 但是SXTemplatePlayer提供录制方法,可以录制当前屏幕上正在渲染的画面,通过delegate回调获取结果。

    -(void)startRecord;// 开始录制当前预览的界面
    -(void)cancelRecord;//取消本次录制
    -(void)stopRecord;// 结束录制当前预览的界面
    -(BOOL)isRecord;// 是否正在录制

注意事项

  1. SXTemplate初始化时type类型为预览 SXTemplateUsagePreview

  2. 注意方法调用的顺序,顺序不对可能会导致异常

  3. 替换素材提供的图片路径需要是本地图片路径

    -(void) setReplaceableFilePaths:(NSArray<NSString*>*) filePaths;
  4. 如果从相册里选择的素材需要进行裁剪,可以参考demo,SDK不提供素材预处理操作

  5. 对于预览方法来说,普通模板和动态模板调用方法一致

  6. 在 SXTemplatePlayer 释放前调用 stop 方法释放资源, stop 后需要重新调用 commit 方法,如果不是释放 player 暂停建议使用 pause 方法。

  7. 由于屏幕刷新频率一秒60次,建议帧速率设置在15, 20, 30, 60中的一种,否则预览容易产生误差