更新时间 : 2023-07-18 09:32:59
SXTemplate
类的构造函数,并传入模板路径和SXTemplateUsagePreview
作为参数构建一个SXTemplate
实例对象SXTemplatePlayer
类的initWithTemplate
构造函数,并传入SXTemplate
对象和背景音乐路径来创建一个SXTemplatePlayer
实例对象SXTemplate
的commit
方法创建渲染对象SXTemplatePlayer
对象的getPlayerView
方法来获取和播放器绑定的UIView对象,并将其加载到界面上用于显示预览画面SXTemplatePlayer
对象的 delegate 参数来设置播放状态监听委托对象SXTemplatePlayer
对象start
,seek
,pause
,stop
等方法对播放状态进行控制代码示例
//创建模板
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];
预览进度,通过SXTemplatePlayerDelegate
的playFrameIndex
获取
/**
* 播放进度更新
* @param frameIndex 当前播放的帧序列号
*/
- (void)playFrameIndex:(NSInteger)frameIndex {
}
注意事项
SXTemplate
初始化时type类型为预览 SXTemplateUsagePreview
SXTemplatePlayer
释放前调用 stop
方法释放资源,stop
后需要重新调用 commit
方法,如果不是释放 player 暂停建议使用 pause
方法。SXTemplate
类的构造函数,并传入模板路径和SXTemplateUsagePreview
作为参数构建一个SXTemplate
实例对象SXTemplatePlayer
类的initWithTemplate
构造函数,并传入SXTemplate
对象和背景音乐路径来创建一个SXTemplatePlayer
实例对象SXTemplate
的commit
方法创建渲染对象SXTemplatePlayer
对象的getPlayerView
方法来获取和播放器绑定的UIView对象,并将其加载到界面上用于显示预览画面SXTemplatePlayer
对象的 delegate 参数来设置播放状态监听委托对象SXTemplatePlayer
对象start
,seek
,pause
,stop
等方法对播放状态进行控制代码示例
//创建模板
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];
预览进度,通过SXTemplatePlayerDelegate
的playFrameIndex
获取
/**
* 播放进度更新
* @param frameIndex 当前播放的帧序列号
*/
- (void)playFrameIndex:(NSInteger)frameIndex {
}
注意事项
SXTemplate
初始化时type类型为预览 SXTemplateUsagePreview
SXTemplatePlayer
释放前调用 stop
方法释放资源,stop
后需要重新调用 commit
方法,如果不是释放 player 暂停建议使用 pause
方法。