智能客服
你问我答,随时在线为你解决问题
通过HVETemplateManager管理器可以查询在线模板列表,使用模板一键合成精彩视频。
- // 获取模板栏目列表
- final HVEColumnInfo[] column = new HVEColumnInfo[1];
- HVETemplateManager.getInstance().getColumnInfos(new HVETemplateManager.HVETemplateColumnsCallback() {
- @Override
- public void onSuccess(List<HVEColumnInfo> result) {
- // 获取模板栏目列表成功
- column[0] = result.get(0);
- }
-
- @Override
- public void onFail(int error) {
- // 获取模板栏目列表失败
- }
- });
-
- // 获取模板详情
- final String[] templateIds = new String[1];
-
- // size为需要请求数据的数量 > 0,offset为需要请求数据的偏移量 ≥ 0,true代表强制获取网络数据
- HVETemplateManager.getInstance().getTemplateInfos(column[0].getColumnId(), size, offset, true, new HVETemplateManager.HVETemplateInfosCallback() {
- @Override
- public void onSuccess(List<HVETemplateInfo> result, boolean hasMore) {
- // 获取模板详情成功
- HVETemplateInfo templateInfo = result.get(0);
- // 获取模板ID
- templateIds[0] = templateInfo.getId();
- }
-
- @Override
- public void onFail(int errorCode) {
- // 获取模板详情失败
- }
- });
-
- // 待获取模板详情成功后,获取模板ID
- String templateId = templateIds[0];
-
- // 获取模板工程
- final List<HVETemplateElement>[] editableElementList = new ArrayList[1];
- HVETemplateManager.getInstance().getTemplateProject(templateId, new HVETemplateManager.HVETemplateProjectCallback() {
- @Override
- public void onSuccess(List<HVETemplateElement> editableElements) {
- // 获取成功后跳转到选择资源界面,把选中的本地资源路径更新到editableElements
- editableElementList[0] = editableElements;
- }
-
- @Override
- public void onProgress(int progress) {
- // 获取进度
- }
-
- @Override
- public void onFail(int errorCode) {
- // 获取失败
- }
- });
-
- // 准备模板工程
- HVETemplateManager.getInstance().prepareTemplateProject(templateId, new HVETemplateManager.HVETemplateProjectPrepareCallback() {
- @Override
- public void onSuccess() {
- // 准备模板工程成功,可以生成HuaweiVideoEditor实例进行播放、预览、导出等操作
- }
-
- @Override
- public void onProgress(int progress) {
- // 准备进度
- }
-
- @Override
- public void onFail(int errorCode) {
- // 准备失败
- }
- });
-
- // 在模板准备成功后,生成HuaweiVideoEditor实例
- // 拥有editor之后就可以进行播放或者导出操作,详情见“编辑工程”的“播放时间线”和“导出”
- HuaweiVideoEditor editor = HuaweiVideoEditor.create(templateId, editableElementList[0]);
- try {
- editor.initEnvironment();
- } catch (LicenseException e) {
- SmartLog.e(TAG, "editor initEnvironment ERROR.");
- }