短视频SDK支持基于AE模板剪同款的功能,即通过导入AE制作的模板,通过替换模板中的视频、图片、文字等元素,实时编辑与预览,最后导出生成新的同款视频。
版本支持
版本 | 是否支持 |
---|---|
专业版 | 支持
说明 短视频SDK 3.35.0及以上版本才支持基于AE模板剪同款的功能。
|
标准版 | 不支持 |
基础版 | 不支持 |
相关类功能
类名 | 功能 |
---|---|
AliyunAEITemplate | 模板。 |
AliyunAETemplateCreator | 模板工厂类。 |
AliyunAETemplateIEditor | 模板编辑器和导出器。 |
AliyunAETemplateManager | 模板管理器。 |
AliyunAETemplateIPlayer | 模板预览播放器。 |
AliyunTemplateRenderListener | 模板渲染导出监听。 |
使用限制
- 仅3.35.0及以上版本的短视频SDK专业版支持基于AE模板剪同款的功能。
- 已购买并申请开通了剪同款模块,购买方式,请参见获取License。
制作AE模板
创作用于剪同款的AE模板,请参见高级模板设计师手册。
编辑模板
代码中需要使用的参数详情,请参考接口文档。接口链接请参见相关类功能。
import com.aliyun.svideosdk.template.AliyunAETemplateIEditor;
import com.aliyun.svideosdk.template.AliyunAEITemplate;
import com.aliyun.svideosdk.template.view.AliyunAETemplatePlayView;
AliyunAETemplateIEditor playView;
//模板预览播放view
playView = findViewById(R.id.xxxx);
//设置预览播放回调
playView.setPlayCallback(xxx);
//模板资源本地路径
String templateFolder = "xxx";
AliyunAEITemplate template = AliyunAETemplateCreator.createTemplate(this, templateFolder);
//创建编辑器
AliyunAETemplateIEditor editor = AliyunAETemplateCreator.createTemplateEditor(this);
//设置模板背景音乐
editor.replaceAudio("local path to the music");
//设置当前编辑模板
editor.setTemplate(template);
...
//修改template包含的资源
...
//提交模板更改
editor.commit();
实时预览
代码中需要使用的参数详情,请参考接口文档。接口链接请参见相关类功能。
import com.aliyun.svideosdk.template.AliyunAETemplateIPlayer;
AliyunAETemplateIPlayer player = editor.getPreviewPlayer();
//预览播放
player.start();
//预览暂停
player.pause();
//停止播放
player.stop();
渲染导出
代码中需要使用的参数详情,请参考接口文档。接口链接请参见相关类功能。
import com.aliyun.svideosdk.template.AliyunTemplateRenderListener;
//渲染导出前,请提交所有的修改
editor.commit();
editor.setOutputPath("xxxx");
//开始渲染导出
editor.startRender(new AliyunTemplateRenderListener() {
@Override
public void onStart() {
Log.d(TAG, "onStart");
}
@Override
public void onCancel() {
Log.d(TAG, "onCancel");
}
@Override
public void onProgress(int progress) {
Log.d(TAG, "onProgress " + progress);
}
@Override
public void onSuccess() {
Log.d(TAG, "onSuccess");
}
@Override
public void onError(String msg) {
Log.d(TAG, "onError>>> " + msg);
}
});
//取消渲染导出
editor.cancelRender();