扫一扫咨询方案
更新时间 : 2026-03-23 16:46:40
SXTemplate类的静态函数createWithFolder,并传入模板路径和TemplateUsage作为参数构建一个SXTemplate实例对象。SXTemplate实例的setReplaceableJson函数,并传入需要替换素材的Json字符串作为参数来实现高级素材替换。SXTemplate实例的setDrawTextCacheDir函数,并传入缓存目录作为参数。SXTemplate实例的enableSourcePrepare函数。SXTemplate实例的commit函数创建渲染对象。SXTemplateRender的构造函数,并传入SXTemplate实例、输出文件、渲染回调作为参数构建一个SXTemplateRender实例对象。SXTemplateRender实例的start方法开始渲染。let path: string = "";//模板根目录
let json: string = "";//替换资源json
let mTemplate: SXTemplate = SXTemplate.createWithFolder(path, SXTemplate.TemplateUsage.kForRender);
mTemplate.setReplaceableJson(json);
mTemplate.enableSourcePrepare(true);//可选
mTemplate.setDrawTextCacheDir(getContext().cacheDir);
mTemplate.commit();
String outputPath = "";//生成的视频路径
let renderer: SXTemplateRender = new SXTemplateRenderer(mTemplate, outputPath, {
onProgress: (p: number) => {
hilog.info(0x0000, 'SXVideoEngine', 'progress %{public}d', p);
},
onError: (errCode: number, errMsg: string) => {
hilog.info(0x0000, 'SXVideoEngine', 'error %{public}s:%{public}s', errCode, errMsg);
},
onFinish: () => {
hilog.info(0x0000, 'SXVideoEngine', 'finished');
},
onCancel: () => {
hilog.info(0x0000, 'SXVideoEngine', 'canceled');
}
})
renderer.start();

SXTemplate类的静态函数createWithFolder,并传入模板路径和TemplateUsage作为参数构建一个SXTemplate实例对象。SXTemplate实例的setReplaceableJson函数,并传入需要替换素材的Json字符串作为参数来实现高级素材替换。SXTemplate实例的setDrawTextCacheDir函数,并传入缓存目录作为参数。SXTemplate实例的enableSourcePrepare函数。SXTemplate实例的commit函数创建渲染对象。SXTemplateRender的构造函数,并传入SXTemplate实例、输出文件、渲染回调作为参数构建一个SXTemplateRender实例对象。SXTemplateRender实例的start方法开始渲染。let path: string = "";//模板根目录
let json: string = "";//替换资源json
let mTemplate: SXTemplate = SXTemplate.createWithFolder(path, SXTemplate.TemplateUsage.kForRender);
mTemplate.setReplaceableJson(json);
mTemplate.enableSourcePrepare(true);//可选
mTemplate.setDrawTextCacheDir(getContext().cacheDir);
mTemplate.commit();
String outputPath = "";//生成的视频路径
let renderer: SXTemplateRender = new SXTemplateRenderer(mTemplate, outputPath, {
onProgress: (p: number) => {
hilog.info(0x0000, 'SXVideoEngine', 'progress %{public}d', p);
},
onError: (errCode: number, errMsg: string) => {
hilog.info(0x0000, 'SXVideoEngine', 'error %{public}s:%{public}s', errCode, errMsg);
},
onFinish: () => {
hilog.info(0x0000, 'SXVideoEngine', 'finished');
},
onCancel: () => {
hilog.info(0x0000, 'SXVideoEngine', 'canceled');
}
})
renderer.start();