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

{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 > 常用 API > SXTemplatePlayer

SXTemplatePlayer

更新时间 : 2023-07-18 09:34:30

SXTemplatePlayer

/**
* SXTemplatePlayer播放进度委托
*/
@protocol SXTemplatePlayerDelegate <NSObject>
/**
* 播放进度更新  
* @param frameIndex 当前播放的帧序列号  
*/
- (void)playFrameIndex:(NSInteger)frameIndex;

@optional

/**
录制失败回调
@param error 错误信息
@warning 当erro中userinfo包含request, 且为"/render/charge/cpt/confirm", 请记录路径和订单流水号(必须对应),以便稍后调用decodeFile重新尝试输出视频文件
渲染回调的文件如果不是直接再次导出,请注意保存该文件,不然可能会被覆盖
*/
- (void)recordFailed:(NSError *)error;

/**
录制取消回调
*/
- (void)recordCancelled;

/**
录制成功回调

@param url 视频文件的路径
*/
- (void)recordSuccess:(NSURL *)url;
@end

/**
* 配合SXTemplate对象对模板进行预览输出到屏幕
*/
@interface SXTemplatePlayer: NSObject

/**
* 获取和设置当前播放的模板对象
* @note 设置模板之后需要重新commit
*/
@property (nonatomic, strong) SXTemplate *sxTemplate;
/**
* 播放状态委托
*/
@property (nonatomic, weak)   id<SXTemplatePlayerDelegate> delegate;

/**
 * 音画同步方式,默认SXSynchronizeDropFrame
 */
@property (nonatomic, assign) SXSynchronizeType synchronizeType;

/**
* 创建一个SXTemplatePlayer实例对象  
* @param sxTemplate 需要预览的合成对象  
* @param audioPath    背景音乐路径,可以为空  
* @return 实例  
*/
- (instancetype)initWithTemplate:(SXTemplate *)sxTemplate audioPath:(NSString *)audioPath;

/**
* 替换背景音乐  
* @param audioPath 新的背景音乐文件路径  
*/
- (void)replaceAudio:(NSString *)audioPath;

/**
* 开始预览  
* @return 是否成功  
*/
- (BOOL)start;

/**
* 暂停预览  
* @return 是否成功  
*/
- (BOOL)pause;

/**
* 停止预览  
* @return 是否成功  
*/
- (BOOL)stop;

/**
* 设置时间进度  
* @param second 新的时间进度,秒为单位  
* @return 是否设置成功  
*/
- (BOOL)seek:(float)second;

/**
 * 绘制当前帧
 * @param forceUpdate 是否强制刷新当前帧
 * @warning 时间不变时刷新当前帧一般会使用缓存数据来减少渲染量,强制刷新会
 * 使用所有资源重新渲染
 */
- (void)draw:(BOOL)forceUpdate;

/**
 * 获取播放器所使用的视图对象  
 * @return UIView视图对象,获取到之后可以添加显示到界面上  
 */
- (UIView *)getPlayerView;


/**
 开始录制当前预览的界面
 @param recordAuido 是否录制音频
 @return 是否成功开启录制
 */
- (BOOL)startRecord:(BOOL)recordAuido

/**
取消本次录制
*/
- (void)cancelRecord;

/**
结束录制当前预览的界面
*/
- (void)stopRecord;


/**
是否正在录制

@return YES为正在录制
*/
- (BOOL)isRecord;

/**
已经录制的时长

@return 录制时长(s)
*/
- (float)recordDuration;

- (UIColor *)getPositionColor:(CGPoint)position;

/**
录制文件导出失败后重试接口,参数由录制回调的错误中获得
@param filePath 加密文件路径, 对应key - filePath
@param orderSN 订单流水号, 对应key - orderSN
@param featureString 订单功能, 对应key - featureString
@param outputPath 解密文件输出路径
@param completeHandler 完成回调
@warning 一个订单对应一个加密文件,参数不要修改,不要用来解密其他文件,可能造成文件错误且扣费成功
解压完成后不会删除原文件
*/
+ (void)decodeFile:(NSString *)filePath
           orderSN:(NSString *)orderSN
     featureString:(NSString *)featureString
        outputPath:(NSString *)outputPath
   completeHandler:(void (^)(NSError *))completeHandler;
首页 > iOS SDK > 常用 API > SXTemplatePlayer
SXTemplatePlayer
更新时间 : 2023-07-18 09:34:30
  • 云渲染
    • Demo下载
    • SDK
    • 开发指南
    • AI API 文档
    • 开发者 API 文档
    • 控制台指南
    • 快速入门
    • 产品简介
  • 模板SDK
    • 用户常见问题
    • Demo 下载
    • 开发指南
    • 服务端 SDK
    • iOS SDK
    • 安卓端 SDK
    • 产品简介
  • 剪辑SDK
    • Demo下载
    • SDK
    • 开发指南
    • 产品简介
  • 模板制作教程
    • 模板制作进阶教程
    • 测试模板素材案例下载
    • 常见模板制作案例
    • 模板制作教程
    • 模板制作工具下载
    • 入门指南
  • 剪辑制作教程
    • 剪辑特效导出教程
    • 剪辑特效测试素材
    • 剪辑特效制作工具下载
    • 入门指南

SXTemplatePlayer

/**
* SXTemplatePlayer播放进度委托
*/
@protocol SXTemplatePlayerDelegate <NSObject>
/**
* 播放进度更新  
* @param frameIndex 当前播放的帧序列号  
*/
- (void)playFrameIndex:(NSInteger)frameIndex;

@optional

/**
录制失败回调
@param error 错误信息
@warning 当erro中userinfo包含request, 且为"/render/charge/cpt/confirm", 请记录路径和订单流水号(必须对应),以便稍后调用decodeFile重新尝试输出视频文件
渲染回调的文件如果不是直接再次导出,请注意保存该文件,不然可能会被覆盖
*/
- (void)recordFailed:(NSError *)error;

/**
录制取消回调
*/
- (void)recordCancelled;

/**
录制成功回调

@param url 视频文件的路径
*/
- (void)recordSuccess:(NSURL *)url;
@end

/**
* 配合SXTemplate对象对模板进行预览输出到屏幕
*/
@interface SXTemplatePlayer: NSObject

/**
* 获取和设置当前播放的模板对象
* @note 设置模板之后需要重新commit
*/
@property (nonatomic, strong) SXTemplate *sxTemplate;
/**
* 播放状态委托
*/
@property (nonatomic, weak)   id<SXTemplatePlayerDelegate> delegate;

/**
 * 音画同步方式,默认SXSynchronizeDropFrame
 */
@property (nonatomic, assign) SXSynchronizeType synchronizeType;

/**
* 创建一个SXTemplatePlayer实例对象  
* @param sxTemplate 需要预览的合成对象  
* @param audioPath    背景音乐路径,可以为空  
* @return 实例  
*/
- (instancetype)initWithTemplate:(SXTemplate *)sxTemplate audioPath:(NSString *)audioPath;

/**
* 替换背景音乐  
* @param audioPath 新的背景音乐文件路径  
*/
- (void)replaceAudio:(NSString *)audioPath;

/**
* 开始预览  
* @return 是否成功  
*/
- (BOOL)start;

/**
* 暂停预览  
* @return 是否成功  
*/
- (BOOL)pause;

/**
* 停止预览  
* @return 是否成功  
*/
- (BOOL)stop;

/**
* 设置时间进度  
* @param second 新的时间进度,秒为单位  
* @return 是否设置成功  
*/
- (BOOL)seek:(float)second;

/**
 * 绘制当前帧
 * @param forceUpdate 是否强制刷新当前帧
 * @warning 时间不变时刷新当前帧一般会使用缓存数据来减少渲染量,强制刷新会
 * 使用所有资源重新渲染
 */
- (void)draw:(BOOL)forceUpdate;

/**
 * 获取播放器所使用的视图对象  
 * @return UIView视图对象,获取到之后可以添加显示到界面上  
 */
- (UIView *)getPlayerView;


/**
 开始录制当前预览的界面
 @param recordAuido 是否录制音频
 @return 是否成功开启录制
 */
- (BOOL)startRecord:(BOOL)recordAuido

/**
取消本次录制
*/
- (void)cancelRecord;

/**
结束录制当前预览的界面
*/
- (void)stopRecord;


/**
是否正在录制

@return YES为正在录制
*/
- (BOOL)isRecord;

/**
已经录制的时长

@return 录制时长(s)
*/
- (float)recordDuration;

- (UIColor *)getPositionColor:(CGPoint)position;

/**
录制文件导出失败后重试接口,参数由录制回调的错误中获得
@param filePath 加密文件路径, 对应key - filePath
@param orderSN 订单流水号, 对应key - orderSN
@param featureString 订单功能, 对应key - featureString
@param outputPath 解密文件输出路径
@param completeHandler 完成回调
@warning 一个订单对应一个加密文件,参数不要修改,不要用来解密其他文件,可能造成文件错误且扣费成功
解压完成后不会删除原文件
*/
+ (void)decodeFile:(NSString *)filePath
           orderSN:(NSString *)orderSN
     featureString:(NSString *)featureString
        outputPath:(NSString *)outputPath
   completeHandler:(void (^)(NSError *))completeHandler;