更新时间 : 2021-02-22 09:36:01
SXTemplate
类的构造函数,并传入模板路径和TemplateUsage.kForRender
作为参数构建一个SXTemplate
实例对象 SXTemplate
对象的setReplaceableFilePaths
方法传入用户自定义素材 commit
创建渲染对象,然后利用UI Key等自定义逻辑对模板渲染对象进行精细修改调节 SXTemplateRender
类的构造函数,并传入SXTemplate
对象、背景音乐路径和输出文件路径,输出文件路径要以mp4为文件拓展名
如果音乐路径传
null
,sdk会默认添加模板根目录下的名为music.mp3或music.aac的音乐
SXTemplateRender
对象的setRenderListener
方法传入渲染状态监听对象
SXRenderListener接口的方法在UI线程中回调
SXTemplateRender
对象的start
方法开始渲染 SXTemplateRender
对象的置空String folder = ;//模板根目录
String[] paths = ;//编辑后的素材路径数组
SXTemplate template = new SXTemplate(mTemplateFolder, SXTemplate.TemplateUsage.kForRender);
template.setReplaceableFilePaths(paths);
template.commit();
String outputPath = //生成的视频路径
//音频路径传null会默认寻找模板根目录下的music.mp3或music.aac音频文件
SXTemplateRender render = new SXTemplateRender(template, null, outputPath);
//listener方法在UI线程回调
render.setRenderListener(new SXRenderListener() {
@Override
public void onStart() {
}
@Override
public void onUpdate(int progress) {
//进度回调,progress为第几帧
}
@Override
public void onFinish(boolean success, String msg) {
//success为true渲染成功,为false时渲染失败,msg是失败原因
}
@Override
public void onCancel() {
}
});
render.start();
onFinish回调success为false时可调用SXTemplateRender的getErrorCode方法获取错误码
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; //音频文件不支持
SXTemplate
类的构造函数,并传入模板路径和TemplateUsage.kForRender
作为参数构建一个SXTemplate
实例对象 SXTemplate
对象的setReplaceableFilePaths
方法传入用户自定义素材 commit
创建渲染对象,然后利用UI Key等自定义逻辑对模板渲染对象进行精细修改调节 SXTemplateRender
类的构造函数,并传入SXTemplate
对象、背景音乐路径和输出文件路径,输出文件路径要以mp4为文件拓展名
如果音乐路径传
null
,sdk会默认添加模板根目录下的名为music.mp3或music.aac的音乐
SXTemplateRender
对象的setRenderListener
方法传入渲染状态监听对象
SXRenderListener接口的方法在UI线程中回调
SXTemplateRender
对象的start
方法开始渲染 SXTemplateRender
对象的置空String folder = ;//模板根目录
String[] paths = ;//编辑后的素材路径数组
SXTemplate template = new SXTemplate(mTemplateFolder, SXTemplate.TemplateUsage.kForRender);
template.setReplaceableFilePaths(paths);
template.commit();
String outputPath = //生成的视频路径
//音频路径传null会默认寻找模板根目录下的music.mp3或music.aac音频文件
SXTemplateRender render = new SXTemplateRender(template, null, outputPath);
//listener方法在UI线程回调
render.setRenderListener(new SXRenderListener() {
@Override
public void onStart() {
}
@Override
public void onUpdate(int progress) {
//进度回调,progress为第几帧
}
@Override
public void onFinish(boolean success, String msg) {
//success为true渲染成功,为false时渲染失败,msg是失败原因
}
@Override
public void onCancel() {
}
});
render.start();
onFinish回调success为false时可调用SXTemplateRender的getErrorCode方法获取错误码
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; //音频文件不支持