美摄SDK For Android  3.14.0
Public 成员函数 | 所有成员列表
com.meicam.sdk.NvsClip类 参考

片段,音视频文件的具体描述 更多...

类 com.meicam.sdk.NvsClip 继承关系图:
com.meicam.sdk.NvsObject com.meicam.sdk.NvsAudioClip com.meicam.sdk.NvsVideoClip

Public 成员函数

NvsTimeline getInternalTimeline ()
 获取片段的时间线对象 更多...
 
long getTrimIn ()
 获取片段的裁剪入点 更多...
 
long getTrimOut ()
 获取片段的裁剪出点 更多...
 
boolean moveTrimPoint (long offset)
 移动片段的裁剪入出点(微秒) 更多...
 
long getInPoint ()
 获取片段在时间线上的入点 更多...
 
long getOutPoint ()
 获取片段在时间线上的出点 更多...
 
int getType ()
 获取片段类型(视频片段,音频片段) 更多...
 
int getClipMode ()
 获取片段模式(媒体片段,时间线片段) 更多...
 
int getIndex ()
 获取片段在轨道上的索引 更多...
 
boolean changeClipMode (int clipMode)
 更改片段模式 更多...
 
boolean changeFilePath (String filePath)
 更改片段文件路径 更多...
 
boolean changeInternalTimeline (NvsTimeline timeline)
 更改片段的时间线 更多...
 
String getFilePath ()
 获取片段文件路径 更多...
 
int getFxCount ()
 获取片段上的特效数量。注:片段上的特效索引是从0开始 更多...
 
long changeTrimInPoint (long newTrimInPoint, boolean affectSibling)
 修改片段的裁剪入点 更多...
 
long changeTrimOutPoint (long newTrimOutPoint, boolean affectSibling)
 修改片段的裁剪出点 更多...
 
double getSpeed ()
 获取片段的播放速度。 更多...
 
boolean isKeepAudioPitch ()
 获取片段是否保持音调。 更多...
 
void changeSpeed (double newSpeed)
 改变片段的播放速度 更多...
 
boolean changeCurvesVariableSpeed (String curvesString, boolean keepAudioPitch)
 使用贝塞尔曲线改变片段的播放速度(仅支持视频片段) 更多...
 
String getClipVariableSpeedCurvesString ()
 获得当前片段的变速曲线字符串 更多...
 
NvsAudioFx getAudioVolumeFx ()
 获取当前片段音量调节特效 更多...
 
void changeSpeed (double newSpeed, boolean keepAudioPitch)
 改变片段的播放速度 更多...
 
void setVolumeGain (float leftVolumeGain, float rightVolumeGain)
 设置音量 更多...
 
NvsVolume getVolumeGain ()
 获取音量 更多...
 
NvsVolume getRealVolumeAtTime (long time)
 获取指定时间点上的实时音量 更多...
 
void setLoopAudio (boolean loop)
 设置当前片段的剪辑出点超过其音频流长度时是否循环播放音频 更多...
 
boolean getLoopAudio ()
 检查当前片段的剪辑出点超过其音频流长度时是否循环播放音频 更多...
 
long GetClipPosByTimelinePosCurvesVariableSpeed (long timelinePos)
 在曲线变速状态下,通过给定时间线位置返回片段上的位置。 更多...
 
long GetTimelinePosByClipPosCurvesVariableSpeed (long clipPos)
 在曲线变速状态下,通过给定片段上位置返回时间线位置。 更多...
 
- 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 CLIP_TYPE_VIDEO = 0
 视频片段类型 更多...
 
static final int CLIP_TYPE_AUDIO = 1
 音频片段类型 更多...
 
片段模式

static final int CLIP_MODE_MEDIA = 0
 媒体片段模式 更多...
 
static final int CLIP_MODE_TIMELINE = 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 Clip)和视频片段(Video Clip)。它定义了不同类型片段所拥有的共同属性和行为, 即派生的音频片段和和视频片段可根据需要修改各自的裁剪出入点,左右声道,播放速度等。在SDK框架中,在轨道(Track)上可添加相应的音频片段和视频片段。

警告
NvsClip类中,所有public API都在UI线程使用!!!

成员函数说明

◆ changeClipMode()

boolean com.meicam.sdk.NvsClip.changeClipMode ( int  clipMode)
inline

更改片段模式

参数
clipMode新的片段模式。包括两种片段模式,即媒体片段模式和时间线片段模式。请参见片段模式
返回
返回是否成功
自从
3.13.0

◆ changeCurvesVariableSpeed()

boolean com.meicam.sdk.NvsClip.changeCurvesVariableSpeed ( String  curvesString,
boolean  keepAudioPitch 
)
inline

使用贝塞尔曲线改变片段的播放速度(仅支持视频片段)

参数
curvesString贝塞尔曲线描述字符串 \字符串格式:(端点1坐标)(端点1后控制点坐标)(端点1前控制点坐标)(端点2坐标)(端点2后控制点坐标)(端点2前控制点坐标)(端点3坐标)(端点3后控制点坐标)(端点3前控制点坐标)…… \坐标格式:(坐标X值,坐标Y值) \注1:Y坐标为播放倍速值,范围在0.1-10之间。 \注2:每个端点及控制点的X坐标必须不能相等。大小规定为:端点1后控制点的X坐标 < 端点1的X坐标 <端点1的前控制点的X坐标 < 端点2后控制点的X坐标 < 端点2的X坐标…… \注3:如果设置的curvesString为空字符串,则表示对该片段取消之前的曲线变速,恢复到匀速状态。 \例如:curvesString = "(0,1)(-3,1)(3,1)(7,5)(6,5)(8,5)(10,0.4)(9,0.4)(11,0.4)(17,0.4)(16,0.4)(18,0.4)(20,5)(19,5)(21,5)(27,1)(24,1)(30,1)"包含了6组端点及其控制点坐标信息。
keepAudioPitch保持音调不变
警告
此接口会引发流媒体引擎状态跳转到引擎停止状态,具体情况请参见引擎变化专题
自从
2.17.0

◆ changeFilePath()

boolean com.meicam.sdk.NvsClip.changeFilePath ( String  filePath)
inline

更改片段文件路径

参数
filePath新的文件路径
返回
返回是否成功

◆ changeInternalTimeline()

boolean com.meicam.sdk.NvsClip.changeInternalTimeline ( NvsTimeline  timeline)
inline

更改片段的时间线

参数
timeline新的时间线
返回
返回是否成功
自从
3.13.0

◆ changeSpeed() [1/2]

void com.meicam.sdk.NvsClip.changeSpeed ( double  newSpeed)
inline

改变片段的播放速度

参数
newSpeed新的播放速度,注意newSpeed > 0
警告
此接口会引发流媒体引擎状态跳转到引擎停止状态,具体情况请参见引擎变化专题
参见
getSpeed

◆ changeSpeed() [2/2]

void com.meicam.sdk.NvsClip.changeSpeed ( double  newSpeed,
boolean  keepAudioPitch 
)
inline

改变片段的播放速度

参数
newSpeed新的播放速度,注意newSpeed > 0
keepAudioPitch保持音调不变
警告
此接口会引发流媒体引擎状态跳转到引擎停止状态,具体情况请参见引擎变化专题
参见
getSpeed
自从
1.15.1

◆ changeTrimInPoint()

long com.meicam.sdk.NvsClip.changeTrimInPoint ( long  newTrimInPoint,
boolean  affectSibling 
)
inline

修改片段的裁剪入点

参数
newTrimInPoint新的裁剪入点(单位微秒)
affectSibling是否影响同轨道上其他片段(true/false)
返回
返回实际可到达的裁剪入点(单位微秒)。注意:实际可达到的裁剪入点范围在[0,trimOut - 1]
警告
此接口会引发流媒体引擎状态跳转到引擎停止状态,具体情况请参见引擎变化专题
参见
changeTrimOutPoint
getTrimIn

◆ changeTrimOutPoint()

long com.meicam.sdk.NvsClip.changeTrimOutPoint ( long  newTrimOutPoint,
boolean  affectSibling 
)
inline

修改片段的裁剪出点

参数
newTrimOutPoint新的裁剪出点(单位微秒)
affectSibling是否影响同轨道上其他片段(true/false)
返回
返回实际可到达的裁剪出点(单位微秒)。注意:实际可达到的裁剪出点范围在[trimIn + 1,clipDuration],clipDuration为片段时长。
警告
此接口会引发流媒体引擎状态跳转到引擎停止状态,具体情况请参见引擎变化专题
参见
changeTrimInPoint
getTrimOut

◆ getAudioVolumeFx()

NvsAudioFx com.meicam.sdk.NvsClip.getAudioVolumeFx ( )
inline

获取当前片段音量调节特效

返回
返回获取的音量调节对象

◆ getClipMode()

int com.meicam.sdk.NvsClip.getClipMode ( )
inline

获取片段模式(媒体片段,时间线片段)

返回
返回片段模式值。 返回值是CLIP_MODE打头的静态int属性值。包括两种片段模式,即媒体片段模式和时间线片段模式。请参见片段模式
自从
3.13.0

◆ GetClipPosByTimelinePosCurvesVariableSpeed()

long com.meicam.sdk.NvsClip.GetClipPosByTimelinePosCurvesVariableSpeed ( long  timelinePos)
inline

在曲线变速状态下,通过给定时间线位置返回片段上的位置。

返回
返回long 表示片段上的位置,返回-1表示失败。
自从
2.17.0

◆ getClipVariableSpeedCurvesString()

String com.meicam.sdk.NvsClip.getClipVariableSpeedCurvesString ( )
inline

获得当前片段的变速曲线字符串

警告
获得的贝塞尔曲线中各点数据的横坐标均为相对位置关系,用户可以按需伸缩横轴坐标的比例,比如将曲线拉长到clip的长度。
参见
changeCurvesVariableSpeed
自从
2.17.0

◆ getFilePath()

String com.meicam.sdk.NvsClip.getFilePath ( )
inline

获取片段文件路径

返回
返回片段路径的字符串

◆ getFxCount()

int com.meicam.sdk.NvsClip.getFxCount ( )
inline

获取片段上的特效数量。注:片段上的特效索引是从0开始

返回
返回片段上的特效数

◆ getIndex()

int com.meicam.sdk.NvsClip.getIndex ( )
inline

获取片段在轨道上的索引

返回
返回片段在轨道上的索引值

◆ getInPoint()

long com.meicam.sdk.NvsClip.getInPoint ( )
inline

获取片段在时间线上的入点

返回
返回片段在时间线上的入点值(单位微秒)
参见
getOutPoint
getTrimIn

◆ getInternalTimeline()

NvsTimeline com.meicam.sdk.NvsClip.getInternalTimeline ( )
inline

获取片段的时间线对象

返回
返回时间线对象,如果片段不是时间线片段则返回null
自从
2.24.0

◆ getLoopAudio()

boolean com.meicam.sdk.NvsClip.getLoopAudio ( )
inline

检查当前片段的剪辑出点超过其音频流长度时是否循环播放音频

返回
返回Boolean值表示是否循环播放音频
参见
setLoopAudio
自从
2.9.0

◆ getOutPoint()

long com.meicam.sdk.NvsClip.getOutPoint ( )
inline

获取片段在时间线上的出点

返回
返回片段在时间线上的出点值(单位微秒)
参见
getInPoint
getTrimOut

◆ getRealVolumeAtTime()

NvsVolume com.meicam.sdk.NvsClip.getRealVolumeAtTime ( long  time)
inline

获取指定时间点上的实时音量

返回
返回获取的音量对象
自从
3.0.0

◆ getSpeed()

double com.meicam.sdk.NvsClip.getSpeed ( )
inline

获取片段的播放速度。

默认值为1,表示按正常速度播放;小于1的值表示慢放;大于1的值表示快放

返回
返回当前片段的播放速度
参见
changeSpeed

◆ GetTimelinePosByClipPosCurvesVariableSpeed()

long com.meicam.sdk.NvsClip.GetTimelinePosByClipPosCurvesVariableSpeed ( long  clipPos)
inline

在曲线变速状态下,通过给定片段上位置返回时间线位置。

返回
返回long 表示时间线上的位置,返回-1表示失败。
自从
2.17.0

◆ getTrimIn()

long com.meicam.sdk.NvsClip.getTrimIn ( )
inline

获取片段的裁剪入点

返回
返回片段的裁剪入点(单位微秒)
参见
getTrimOut
changeTrimInPoint
getInPoint

◆ getTrimOut()

long com.meicam.sdk.NvsClip.getTrimOut ( )
inline

获取片段的裁剪出点

返回
返回片段的裁剪出点(单位微秒)
参见
getTrimIn
changeTrimOutPoint
getOutPoint

◆ getType()

int com.meicam.sdk.NvsClip.getType ( )
inline

获取片段类型(视频片段,音频片段)

返回
返回片段类型值。 返回值是CLIP_TYPE打头的静态int属性值。包括两种片段类型,即音频片段类型和视频片段类型。请参见片段类型

◆ getVolumeGain()

NvsVolume com.meicam.sdk.NvsClip.getVolumeGain ( )
inline

获取音量

返回
返回获取的音量对象
参见
getVolumeGain

◆ isKeepAudioPitch()

boolean com.meicam.sdk.NvsClip.isKeepAudioPitch ( )
inline

获取片段是否保持音调。

默认值为false

返回
返回当前片段否保持音调
参见
changeSpeed

◆ moveTrimPoint()

boolean com.meicam.sdk.NvsClip.moveTrimPoint ( long  offset)
inline

移动片段的裁剪入出点(微秒)

参数
offset偏移值,已有的trimIn + offset不能超过片段的原始长度
返回
如果移动成功返回true
自从
2.18.1

◆ setLoopAudio()

void com.meicam.sdk.NvsClip.setLoopAudio ( boolean  loop)
inline

设置当前片段的剪辑出点超过其音频流长度时是否循环播放音频

参数
loop是否循环播放音频
参见
getLoopAudio
自从
2.9.0

◆ setVolumeGain()

void com.meicam.sdk.NvsClip.setVolumeGain ( float  leftVolumeGain,
float  rightVolumeGain 
)
inline

设置音量

参数
leftVolumeGain左声道值,取值范围[0,8)。
rightVolumeGain右声道值,取值范围[0,8)。
参见
getVolumeGain

类成员变量说明

◆ CLIP_MODE_MEDIA

final int com.meicam.sdk.NvsClip.CLIP_MODE_MEDIA = 0
static

媒体片段模式

◆ CLIP_MODE_TIMELINE

final int com.meicam.sdk.NvsClip.CLIP_MODE_TIMELINE = 1
static

时间线片段模式

◆ CLIP_TYPE_AUDIO

final int com.meicam.sdk.NvsClip.CLIP_TYPE_AUDIO = 1
static

音频片段类型

◆ CLIP_TYPE_VIDEO

final int com.meicam.sdk.NvsClip.CLIP_TYPE_VIDEO = 0
static

视频片段类型


该类的文档由以下文件生成: