com.aliyun.svideosdk.common

## Interface AliyunIClipManager

- All Known Subinterfaces:
    AliyunIClipConstructor, AliyunIImport, AliyunISourcePartManager

      public interface AliyunIClipManager

  视频源管理器，用来导入视频时添加视频源，也可以在编辑过程中通过该接口来动态更新视频源

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `addMediaClip(AliyunClip clip)` 添加一个媒体源，视频用`AliyunVideoClip`，照片用`AliyunImageClip`，如果 是Gif，则当作视频处理即可。
    `int` | `addMediaClip(int index, AliyunClip clip)` 指定索引添加一个clip，创建一个AliyunClip对象，填入相关参数`AliyunClip`,该方法会生成clip的clone样本，然后将样本添加到list指定位置中
    `int` | `deleteLastMediaClip()` 删除末尾的一个clip，
    `void` | `deleteMediaClip(AliyunClip clip)` 移除媒体（视频／图片）
    `int` | `deleteMediaClip(int index)` 按索引删除一个clip，
    `java.util.List<AliyunClip>` | `getAllClips()` 获取所有clip的拷贝
    `AliyunClip` | `getMediaClip(int index)` 按索引获取一个clip，
    `int` | `getMediaClipCount()` 获取clip的个数
    `void` | `swap(int pos1, int pos2)` 传入要交换顺序的两个视频源的索引，更换顺序
    `void` | `updateAllClips(java.util.List<AliyunClip> clips)` 更新的所有clip，会使用该clip列表生成一份拷贝，然后用拷贝替换现有的clip列表
    `int` | `updateMediaClip(int index, AliyunClip clip)` 指定索引更新替换一个clip，创建一个AliyunClip对象，填入相关参数`AliyunClip`,该方法会生成clip的clone样本，然后将样本替换list指定位置中的clip

- - ### Method Detail

    - #### addMediaClip

          int addMediaClip(AliyunClip clip)

      添加一个媒体源，视频用`AliyunVideoClip`，照片用`AliyunImageClip`，如果 是Gif，则当作视频处理即可。
      Parameters:
        `clip` -
      Returns:
        成功返回clip在list中的索引，失败返回`AliyunErrorCode.ERROR_CLIP_INVALID`
      See Also:
        `AliyunVideoClip`, `AliyunImageClip`

    - #### addMediaClip

          int addMediaClip(int index,
                           AliyunClip clip)

      指定索引添加一个clip，创建一个AliyunClip对象，填入相关参数`AliyunClip`,该方法会生成clip的clone样本，然后将样本添加到list指定位置中
      Parameters:
        `index` - 索引位置
        `clip` -
      Returns:
        成功返回clip在list中的索引，失败返回`AliyunErrorCode.ERROR_CLIP_INVALID`

    - #### updateMediaClip

          int updateMediaClip(int index,
                              AliyunClip clip)

      指定索引更新替换一个clip，创建一个AliyunClip对象，填入相关参数`AliyunClip`,该方法会生成clip的clone样本，然后将样本替换list指定位置中的clip
      Parameters:
        `index` -
        `clip` -
      Returns:
        成功返回clip在list中的索引，失败返回`AliyunErrorCode.ERROR_CLIP_INVALID` `AliyunErrorCode.ERROR_CLIP_INVALID`

    - #### deleteLastMediaClip

          int deleteLastMediaClip()

      删除末尾的一个clip，
      Returns:
        成功返回0，如果没有clip了，返回`AliyunErrorCode.ERROR_NO_CLIP`

    - #### deleteMediaClip

          int deleteMediaClip(int index)

      按索引删除一个clip，
      Parameters:
        `index` -
      Returns:
        成功返回0，失败返回`AliyunErrorCode.ERROR_CLIP_INDEX_INVALID`

    - #### deleteMediaClip

          void deleteMediaClip(AliyunClip clip)

      移除媒体（视频／图片）
      Parameters:
        `clip` -

    - #### getMediaClip

          AliyunClip getMediaClip(int index)

      按索引获取一个clip，
      Parameters:
        `index` -
      Returns:
        成功返回相应clip的一个拷贝样本，失败返回null

    - #### getMediaClipCount

          int getMediaClipCount()

      获取clip的个数
      Returns:
        返回clip的总数

    - #### getAllClips

          java.util.List<AliyunClip> getAllClips()

      获取所有clip的拷贝
      Returns:
        返回clip的list

    - #### updateAllClips

          void updateAllClips(java.util.List<AliyunClip> clips)

      更新的所有clip，会使用该clip列表生成一份拷贝，然后用拷贝替换现有的clip列表

    - #### swap

          void swap(int pos1,
                    int pos2)

      传入要交换顺序的两个视频源的索引，更换顺序
      Parameters:
        `pos1` -
        `pos2` -