文档管理中心
指南视频编辑服务视频编辑原子能力SDK集成模板能力

模板能力

通过HVETemplateManager管理器可以查询在线模板列表,使用模板一键合成精彩视频。

收起
自动换行
深色代码主题
复制
  1. // 获取模板栏目列表
  2. final HVEColumnInfo[]
    column
    = new HVEColumnInfo[1];
  3. HVETemplateManager.getInstance().getColumnInfos(new HVETemplateManager.HVETemplateColumnsCallback() {
  4. @Override
  5. public void onSuccess(List<HVEColumnInfo> result) {
  6. // 获取模板栏目列表成功
  7. column
    [0] = result.get(0);
  8. }
  9. @Override
  10. public void onFail(int error) {
  11. // 获取模板栏目列表失败
  12. }
  13. });
  14. // 获取模板详情
  15. final String[]
    templateIds
    = new String[1];
  16. // size为需要请求数据的数量 > 0,offset为需要请求数据的偏移量 ≥ 0,true代表强制获取网络数据
  17. HVETemplateManager.getInstance().getTemplateInfos(
    column
    [0].getColumnId(),
    size
    ,
    offset
    ,
    true
    , new HVETemplateManager.HVETemplateInfosCallback() {
  18. @Override
  19. public void onSuccess(List<HVETemplateInfo> result, boolean hasMore) {
  20. // 获取模板详情成功
  21. HVETemplateInfo
    templateInfo
    =
    result
    .get(0);
  22. // 获取模板ID
  23. templateIds
    [0] =
    templateInfo
    .getId();
  24. }
  25. @Override
  26. public void onFail(int errorCode) {
  27. // 获取模板详情失败
  28. }
  29. });
  30. // 待获取模板详情成功后,获取模板ID
  31. String
    templateId
    = templateIds[0];
  32. // 获取模板工程
  33. final List<HVETemplateElement>[]
    editableElementList
    = new ArrayList[1];
  34. HVETemplateManager.getInstance().getTemplateProject(
    templateId
    , new HVETemplateManager.HVETemplateProjectCallback() {
  35. @Override
  36. public void onSuccess(List<HVETemplateElement> editableElements) {
  37. // 获取成功后跳转到选择资源界面,把选中的本地资源路径更新到editableElements
  38. editableElementList
    [0] = editableElements;
  39. }
  40. @Override
  41. public void onProgress(int progress) {
  42. // 获取进度
  43. }
  44. @Override
  45. public void onFail(int errorCode) {
  46. // 获取失败
  47. }
  48. });
  49. // 准备模板工程
  50. HVETemplateManager.getInstance().prepareTemplateProject(
    templateId
    , new HVETemplateManager.HVETemplateProjectPrepareCallback() {
  51. @Override
  52. public void onSuccess() {
  53. // 准备模板工程成功,可以生成HuaweiVideoEditor实例进行播放、预览、导出等操作
  54. }
  55. @Override
  56. public void onProgress(int progress) {
  57. // 准备进度
  58. }
  59. @Override
  60. public void onFail(int errorCode) {
  61. // 准备失败
  62. }
  63. });
  64. // 在模板准备成功后,生成HuaweiVideoEditor实例
  65. // 拥有editor之后就可以进行播放或者导出操作,详情见“编辑工程”“播放时间线”“导出”
  66. HuaweiVideoEditor
    editor
    = HuaweiVideoEditor.create(
    templateId
    ,
    editableElementList
    [0]);
  67. try {
  68. editor
    .initEnvironment();
  69. } catch (LicenseException e) {
  70. SmartLog.e(TAG, "editor initEnvironment ERROR.");
  71. }
在 指南 中进行搜索
请输入您想要搜索的关键词