美摄SDK For iOS  3.10.1
构造函数 | 属性 | 所有成员列表
NvsClip类 参考

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

#import <NvsClip.h>

类 NvsClip 继承关系图:
NvsObject NvsAudioClip NvsVideoClip

构造函数

(NvsTimeline *) - getInternalTimeline
 获取片段的时间线对象 更多...
 
(BOOL) - changeFilePath:
 更改片段文件路径 更多...
 
(int64_t) - changeTrimInPoint:affectSibling:
 修改片段裁剪入点 更多...
 
(BOOL) - moveTrimPoint:
 移动片段的裁剪入出点(微秒) 更多...
 
(int64_t) - changeTrimOutPoint:affectSibling:
 修改片段裁剪出点 更多...
 
(double) - getSpeed
 获取片段的播放速度。 更多...
 
(void) - changeSpeed:
 改变片段的播放速度 更多...
 
(void) - changeSpeed:keepAudioPitch:
 改变片段的播放速度 更多...
 
(BOOL) - isKeepAudioPitch
 获取音调状态 更多...
 
(BOOL) - changeCurvesVariableSpeed:keepAudioPitch:
 使用贝塞尔曲线改变片段的播放速度(仅支持视频片段) 更多...
 
(NSString *) - getClipVariableSpeedCurvesString
 获得当前片段的变速曲线字符串 更多...
 
(int64_t) - getClipPosByTimelinePosCurvesVariableSpeed:
 在曲线变速状态下,通过给定时间线位置返回片段上的位置。 更多...
 
(int64_t) - getTimelinePosByClipPosCurvesVariableSpeed:
 在曲线变速状态下,通过给定片段上位置返回时间线位置。 更多...
 
(void) - setVolumeGain:rightVolumeGain:
 设置声道(左声道和右声道) 更多...
 
(void) - getVolumeGain:rightVolumeGain:
 获取置声道值(左声道和右声道) 更多...
 
(void) - getRealVolumeAtTime:rightVolumeGain:time:
 获取指定时间点上的实时音量 更多...
 
(void) - setLoopAudio:
 设置当前片段的剪辑出点超过其音频流长度时是否循环播放音频 更多...
 
(BOOL) - getLoopAudio
 检查当前片段的剪辑出点超过其音频流长度时是否循环播放音频 更多...
 
(NvsAudioFx *) - getAudioVolumeFx
 获取当前片段音量特效 更多...
 
- 构造函数 继承自 NvsObject
(void) - setAttachment:forKey:
 给NvsObject对象添加附件,用来标识NvsObject的对象或者用于其他用途 更多...
 
(void) - setTemplateAttachment:forKey:
 为NvsObject对象添加模板资源的附加数据,用来标识NvsObject的模板数据 更多...
 
(NSObject *) - getAttachment:
 获取已经添加的附件 更多...
 
(NSString *) - getTemplateAttachment:
 获取NvsObject的模板资源附件 更多...
 

属性

int64_t trimIn
 片段裁剪入点(单位微秒) 更多...
 
int64_t trimOut
 片段裁剪出点(单位微秒) 更多...
 
int64_t inPoint
 片段在时间线上的入点(单位微秒) 更多...
 
int64_t outPoint
 片段在时间线上的出点(单位微秒) 更多...
 
NvsClipType type
 片段类型(视频、音频) 更多...
 
unsigned int index
 片段在轨道上的索引 更多...
 
NSString * filePath
 片段文件路径 更多...
 
unsigned int fxCount
 片段上的特效数量 更多...
 

详细描述

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

片段是容纳音视频内容的实体,是对视频、音频文件的描述,分为音频片段(Audio Clip)和视频片段(Video Clip)。它定义了不同类型片段所拥有的共同属性和行为, 即派生的音频片段和和视频片段可根据需要修改各自的裁剪出入点,左右声道,播放速度等。在SDK框架中,在轨道(Track)上可添加相应的音频片段和视频片段。

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

函数文档

◆ changeCurvesVariableSpeed:keepAudioPitch:

- (BOOL) changeCurvesVariableSpeed: (NSString *)  curvesString
keepAudioPitch: (BOOL)  keepAudioPitch 

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

参数
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:

- (BOOL) changeFilePath: (NSString *)  filePath

更改片段文件路径

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

◆ changeSpeed:

- (void) changeSpeed: (double)  newSpeed

改变片段的播放速度

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

◆ changeSpeed:keepAudioPitch:

- (void) changeSpeed: (double)  newSpeed
keepAudioPitch: (BOOL)  keepAudioPitch 

改变片段的播放速度

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

◆ changeTrimInPoint:affectSibling:

- (int64_t) changeTrimInPoint: (int64_t)  newTrimInPoint
affectSibling: (BOOL)  affectSibling 

修改片段裁剪入点

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

◆ changeTrimOutPoint:affectSibling:

- (int64_t) changeTrimOutPoint: (int64_t)  newTrimOutPoint
affectSibling: (BOOL)  affectSibling 

修改片段裁剪出点

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

◆ getAudioVolumeFx

- (NvsAudioFx *) getAudioVolumeFx

获取当前片段音量特效

返回
返回获取的音频特效对象

◆ getClipPosByTimelinePosCurvesVariableSpeed:

- (int64_t) getClipPosByTimelinePosCurvesVariableSpeed: (int64_t)  timelinePos

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

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

◆ getClipVariableSpeedCurvesString

- (NSString *) getClipVariableSpeedCurvesString

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

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

◆ getInternalTimeline

- (NvsTimeline *) getInternalTimeline

获取片段的时间线对象

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

◆ getLoopAudio

- (BOOL) getLoopAudio

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

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

◆ getRealVolumeAtTime:rightVolumeGain:time:

- (void) getRealVolumeAtTime: (float *)  leftVolume
rightVolumeGain: (float *)  rightVolume
time: (int64_t)  time 

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

参数
leftVolumeGain左声道音量.
rightVolumeGain右声道音量.
自从
3.0.0

◆ getSpeed

- (double) getSpeed

获取片段的播放速度。

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

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

◆ getTimelinePosByClipPosCurvesVariableSpeed:

- (int64_t) getTimelinePosByClipPosCurvesVariableSpeed: (int64_t)  clipPos

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

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

◆ getVolumeGain:rightVolumeGain:

- (void) getVolumeGain: (float *)  leftVolumeGain
rightVolumeGain: (float *)  rightVolumeGain 

获取置声道值(左声道和右声道)

参数
leftVolumeGainOutput the left channel value.
rightVolumeGainOutput the right channel value.
参见
- getVolumeGain:rightVolumeGain:

◆ isKeepAudioPitch

- (BOOL) isKeepAudioPitch

获取音调状态

参见
changeSpeed
自从
3.7.0

◆ moveTrimPoint:

- (BOOL) moveTrimPoint: (int64_t)  offset

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

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

◆ setLoopAudio:

- (void) setLoopAudio: (BOOL)  loop

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

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

◆ setVolumeGain:rightVolumeGain:

- (void) setVolumeGain: (float)  leftVolumeGain
rightVolumeGain: (float)  rightVolumeGain 

设置声道(左声道和右声道)

参数
leftVolumeGain要设置的左声道值,取值范围[0,4)。
rightVolumeGain要设置的右声道值,取值范围[0,4)。
参见
- getVolumeGain:rightVolumeGain:

属性说明

◆ filePath

- (NSString*) filePath
readatomicassign

片段文件路径

◆ fxCount

- (unsigned int) fxCount
readatomicassign

片段上的特效数量

◆ index

- (unsigned int) index
readatomicassign

片段在轨道上的索引

◆ inPoint

- (int64_t) inPoint
readatomicassign

片段在时间线上的入点(单位微秒)

◆ outPoint

- (int64_t) outPoint
readatomicassign

片段在时间线上的出点(单位微秒)

◆ trimIn

- (int64_t) trimIn
readatomicassign

片段裁剪入点(单位微秒)

◆ trimOut

- (int64_t) trimOut
readatomicassign

片段裁剪出点(单位微秒)

◆ type

- (NvsClipType) type
readatomicassign

片段类型(视频、音频)


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