|
美摄SDK For Android
3.14.4
|
轨道,容纳片段的结构 更多...
Public 成员函数 | |
| int | getType () |
| 获取轨道类型 更多... | |
| int | getIndex () |
| 获取轨道索引 更多... | |
| long | getDuration () |
| 获取轨道长度 更多... | |
| int | getClipCount () |
| 获取轨道上的片段数量 更多... | |
| long | changeInPoint (int clipIndex, long newInPoint) |
| 修改片段时间线上的入点.如果clip没有此函数授权返回当前的inpoint,newInpoint如果小于前一个clip的outpoint,直接返回前一个clip的outpoint,如果当前clip是第0个clip,则newInPoint最小为0。此函数内部会根据newinpoint计算出一个新的trimIn,并修改clip的trimIn,如果新的trimIn小于0时会返回trimIn为0时对应的Inpoint值,如果newinpoint大于trimOut则返回trimOut-1对应的inPoint值 更多... | |
| long | changeOutPoint (int clipIndex, long newOutPoint) |
| 修改片段时间线上的出点,如果clip没有此函数授权返回当前的outpoint,如果newOutpoint小于clip的outPoint则newOutPoint不会小于inpoint+1,如果clip后面还有nextclip,则newOutPoint不会大于nextClip的inpoint,当前clip如果是最后一个clip最终outpoint的就是timeline的duration,如果newOutPoint大于clip的outpoint则视频末尾会静帧。此函数内部会根据newOutpoint计算出一个新的trimOut,如果clip的inpoint不等于下一个clip的outpoint会移除中间的转场. 更多... | |
| boolean | splitClip (int clipIndex, long splitPoint) |
| 分割指定的片段 更多... | |
| boolean | removeClip (int clipIndex, boolean keepSpace) |
| 移除指定的片段,主题的片头片尾是不允许移除的 更多... | |
| boolean | removeRange (long startTimelinePos, long endTimelinePos, boolean keepSpace) |
| 移除指定的区间内的所有片段,如果片段只有部分与该区间重合则调整其时间线入点或者出点,如果片段只有部分与该区间重合则调整其时间线入点或者出点,如果片段包含主题片头片尾部分,会移除失败,startTimelinePos < 0 或者 endTimelinePos <= startTimelinePos 也会移除失败. 更多... | |
| boolean | moveClip (int clipIndex, int destClipIndex) |
| 移动指定的片段,交换输入的两个位置,会影响时间线上片段的排布。主题的片头片尾不能移动,clipIndex和destClipIndex不能于等于clipcount 更多... | |
| boolean | moveClip (int clipIndex, long targetTimelinePos, boolean isInsertTarget, boolean keepSpace) |
| 移动指定的片段到输入的位置,clipIndex大于等于clipcount会移除失败,targetTimelinePos等于0时,会被移动到0的位置,主题的片头片尾不能被移动。 更多... | |
| boolean | removeAllClips () |
| 移除所有片段 更多... | |
| void | setVolumeGain (float leftVolumeGain, float rightVolumeGain) |
| 设置音量,最终的音量值是track音量乘以clip音量 更多... | |
| NvsVolume | getVolumeGain () |
| 获取音量,最终的音量值是track音量乘以clip音量 更多... | |
Public 成员函数 继承自 com.meicam.sdk.NvsObject | |
| void | setAttachment (String key, Object value) |
| 为NvsObject对象添加附加的数据,用来标识NvsObject的对象或者其他用途 更多... | |
| void | setTemplateAttachment (String key, String value) |
| 为NvsObject对象添加模板资源的附加数据,用来标识NvsObject的模板数据 更多... | |
| Object | getAttachment (String key) |
| 获取NvsObject的附件 更多... | |
| String | getTemplateAttachment (String key) |
| 获取NvsObject的模板资源附件 更多... | |
静态 Public 属性 | |
轨道类型 | |
| static final int | TRACK_TYPE_VIDEO = 0 |
| 视频轨道 更多... | |
| static final int | TRACK_TYPE_AUDIO = 1 |
| 音频轨道 更多... | |
静态 Public 属性 继承自 com.meicam.sdk.NvsObject | |
| static final String | TEMPLATE_KEY_REPLACE_ID = "MSTemplate-ReplaceId" |
| static final String | TEMPLATE_KEY_FOOTAGE_CAN_REPLACE = "MSTemplate-FootageCanReplace" |
| static final String | TEMPLATE_KEY_FOOTAGE_ID = "MSTemplate-FootageId" |
| static final String | TEMPLATE_KEY_FOOTAGE_NAME = "MSTemplate-FootageName" |
| static final String | TEMPLATE_KEY_FOOTAGE_M3U8_NAME = "MSTemplate-FootageM3U8Name" |
| static final String | TEMPLATE_KEY_FOOTAGE_TAGS = "MSTemplate-FootageTags" |
| static final String | TEMPLATE_KEY_FOOTAGE_TYPE = "MSTemplate-FootageType" |
| static final String | TEMPLATE_KEY_FOOTAGE_NEED_REVERSE = "MSTemplate-FootageNeedReverse" |
| static final String | TEMPLATE_KEY_CLIP_RAW_WIDTH = "MSTemplate-ClipRawWidth" |
| static final String | TEMPLATE_KEY_CLIP_RAW_HEIGHT = "MSTemplate-ClipRawHeight" |
| static final String | TEMPLATE_KEY_VOLUME_TYPE = "MSTemplate-VolumeType" |
| static final String | TEMPLATE_KEY_FX_GROUP = "MSTemplate-FxGroup" |
| static final String | TEMPLATE_KEY_BEST_SEEK_TIME = "MSTemplate-BestSeekTime" |
| static final String | TEMPLATE_KEY_MASK_TYPE = "MSTemplate-MaskType" |
| static final String | TEMPLATE_VALUE_MASK_TYPE_LINE = "MSTemplate-MaskType-Line" |
| static final String | TEMPLATE_VALUE_MASK_TYPE_MIRROR = "MSTemplate-MaskType-Mirror" |
| static final String | TEMPLATE_VALUE_MASK_TYPE_CIRCLE = "MSTemplate-MaskType-Circle" |
| static final String | TEMPLATE_VALUE_MASK_TYPE_RECT = "MSTemplate-MaskType-Rect" |
| static final String | TEMPLATE_VALUE_MASK_TYPE_HEART = "MSTemplate-MaskType-Heart" |
| static final String | TEMPLATE_VALUE_MASK_TYPE_STAR = "MSTemplate-MaskType-Star" |
| static final String | TEMPLATE_KEY_TRANS_TYPE_CUT = "MSTemplate-TransType-Cut" |
| static final String | TEMPLATE_KEY_CURVE_SPEED_TYPE = "MSTemplate-CurveSpeedType" |
| static final String | TEMPLATE_VALUE_CURVE_SPEED_TYPE_CUSTOM = "MSTemplate-CurveSpeedType-Custom" |
| static final String | TEMPLATE_VALUE_CURVE_SPEED_TYPE_MONTAGE = "MSTemplate-CurveSpeedType-Montage" |
| static final String | TEMPLATE_VALUE_CURVE_SPEED_TYPE_HERO = "MSTemplate-CurveSpeedType-Hero" |
| static final String | TEMPLATE_VALUE_CURVE_SPEED_TYPE_BULLET = "MSTemplate-CurveSpeedType-bullet" |
| static final String | TEMPLATE_VALUE_CURVE_SPEED_TYPE_PLUS = "MSTemplate-CurveSpeedType-Plus" |
| static final String | TEMPLATE_VALUE_CURVE_SPEED_TYPE_IN = "MSTemplate-CurveSpeedType-In" |
| static final String | TEMPLATE_VALUE_CURVE_SPEED_TYPE_OUT = "MSTemplate-CurveSpeedType-Out" |
额外继承的成员函数 | |
Protected 成员函数 继承自 com.meicam.sdk.NvsObject | |
| void | setInternalObject (long internalObject) |
| long | getInternalObject () |
Protected 属性 继承自 com.meicam.sdk.NvsObject | |
| long | m_internalObject = 0 |
轨道,容纳片段的结构
轨道可视作片段的集合,分为音频轨道(Audio Track)和视频轨道(Video Track)。创建时间线实例后,可添加或移除多条轨道。在每一条轨道上,可以添加多个要编辑的视音频片段,并对片段进行音量设置,也可以进行移除和位置移动。
|
inline |
修改片段时间线上的入点.如果clip没有此函数授权返回当前的inpoint,newInpoint如果小于前一个clip的outpoint,直接返回前一个clip的outpoint,如果当前clip是第0个clip,则newInPoint最小为0。此函数内部会根据newinpoint计算出一个新的trimIn,并修改clip的trimIn,如果新的trimIn小于0时会返回trimIn为0时对应的Inpoint值,如果newinpoint大于trimOut则返回trimOut-1对应的inPoint值
| clipIndex | 片段索引 |
| newInPoint | 时间线上新的入点(单位微秒) |
|
inline |
修改片段时间线上的出点,如果clip没有此函数授权返回当前的outpoint,如果newOutpoint小于clip的outPoint则newOutPoint不会小于inpoint+1,如果clip后面还有nextclip,则newOutPoint不会大于nextClip的inpoint,当前clip如果是最后一个clip最终outpoint的就是timeline的duration,如果newOutPoint大于clip的outpoint则视频末尾会静帧。此函数内部会根据newOutpoint计算出一个新的trimOut,如果clip的inpoint不等于下一个clip的outpoint会移除中间的转场.
| clipIndex | 片段索引 |
| newOutPoint | 时间线上新的出点(单位微秒) |
|
inline |
获取轨道上的片段数量
|
inline |
获取轨道长度
|
inline |
获取轨道索引
|
inline |
获取轨道类型
|
inline |
|
inline |
移动指定的片段,交换输入的两个位置,会影响时间线上片段的排布。主题的片头片尾不能移动,clipIndex和destClipIndex不能于等于clipcount
| clipIndex | 需要移动的片段索引 |
| destClipIndex | 片段移动目标位置的目标索引 |
|
inline |
移动指定的片段到输入的位置,clipIndex大于等于clipcount会移除失败,targetTimelinePos等于0时,会被移动到0的位置,主题的片头片尾不能被移动。
| clipIndex | 需要移动的片段索引 |
| targetTimelinePos | 片段移动到的时间线位置,单位为微秒 |
| isInsertTarget | true表示采用插入的方式移动片段,若目标位置有片段则将该片段截断然后插入要移动的片段,false表示采用覆盖的方式移动片段,若目标位置有片段则将要移动的片段覆盖到该片段所在区域。 |
| keepSpace | 片段移动过程中是否保留空间,保留的空间为黑色片段。 |
|
inline |
|
inline |
移除指定的片段,主题的片头片尾是不允许移除的
| clipIndex | 片段索引 |
| keepSpace | 片段移除后,是否保留该片段在轨道上的空间。值为true则保留,false则不保留 |
|
inline |
移除指定的区间内的所有片段,如果片段只有部分与该区间重合则调整其时间线入点或者出点,如果片段只有部分与该区间重合则调整其时间线入点或者出点,如果片段包含主题片头片尾部分,会移除失败,startTimelinePos < 0 或者 endTimelinePos <= startTimelinePos 也会移除失败.
| startTimelinePos | 区间的起始时间线位置(单位微秒) |
| endTimelinePos | 区间的结束时间线位置(单位微秒) |
| keepSpace | 区间内的片段移除后,是否保留该区间所占轨道上的空间。值为true则保留,false则不保留 |
|
inline |
设置音量,最终的音量值是track音量乘以clip音量
| leftVolumeGain | 左声道值,取值范围[0,8)。 |
| rightVolumeGain | 右声道值,取值范围[0,8)。 |
|
inline |
分割指定的片段
| clipIndex | 片段索引 |
| splitPoint | 分割点(单位微秒)取值范围是(clip.inpoint, clip.outpoint),超出取值范围会切割失败。 分割片段,即对指定索引值的片段进行分割而变为两个片段的操作,对应的轨道上片段的索引值也会进行相应变化。 |
示例如下:
上图中轨道上有三个视频片段C1、C2、C3,对片段C2进行分割,分割后的片段分别命名为C2和C4。通过获取轨道上当前片段数来判定是否分割成功,分割成功则C2和C4索引值对应为1和2。
结果如下图:
|
static |
音频轨道
|
static |
视频轨道
1.8.17