TAVEditor
SDK 配置方法
API | 描述 |
设置监听日志。 | |
getSdkVersion | 获取 SDK 当前版本号。 |
实例相关方法
API | 描述 |
初始化实例方法。 | |
初始化类方法。 | |
deinit | 释放实例。 |
复制一份新实例。 |
资源设置相关方法
API | 描述 |
向末尾添加视频资源,返回成功添加后的索引。 | |
在指定位置添加视频资源数组。 | |
向末尾添加图片资源,duration 传 kCMTimeZero 为默认 3 秒。 | |
在指定位置添加图片资源数组,durations 中传 @(0) 为默认 3 秒。 | |
获取当前正在编辑的资源数量。 | |
获取当前使用的资源信息列表。 | |
移除指定位置的视频或者图片资源。 | |
删除所有资源 (视频/图片/模板) 片段。 | |
清空所有资源 (video & bgm) 和所有特效。 | |
修改指定资源的播放区间时长。 | |
修改指定资源的速率 (0, 3]。 | |
调整资源位置,返回是否调整成功。 | |
在改变资源/BGM 后需要调用此接口同步生成播放资源。 | |
在改变资源/BGM 后调用此接口同步生成播放资源,并在完成后执行回调。 | |
耗时操作:生成播放器资源。 | |
将生成的播放器资源绑定到播放器,并在完成后执行回调。 | |
设置指定资源背景音量 (0-1f)。 | |
设置所有资源背景音量 (0-1f)。 | |
获取对应下标资源的音量。 | |
设置视频是否倒放。 | |
设置所有资源的旋转角度 (顺时针 0-360°)。 | |
根据下标设置视频旋转角度 (顺时针 0-360°)。 | |
设置所有资源的形变。 | |
设置指定资源的形变。 | |
设置所有资源的大小。 | |
设置指定资源的大小。 | |
设置指定资源的裁剪信息。 |
BGM 设置相关方法
API | 描述 |
添加背景音乐。通过 startAtVideoTime 设置 BGM 在时间轴中开始播放的时间;通过 timeRange 截取音乐素材的播放区间。返回 BGM 素材的唯一 ID。 | |
根据背景音乐添加时生成的唯一 ID 删除背景音乐。 | |
删除所有背景音乐 。 | |
调整指定 ID 的 BGM 在视频中开始播放的位置。 | |
设置指定 ID 的背景音乐播放区间,用于截取音乐素材。 | |
设置指定 ID 的背景音乐播放音量 (0-1f)。 | |
设置指定 ID 的背景音乐的额外自定义信息。 | |
获取指定 ID 的背景音乐的额外自定义信息。 | |
设置所有背景音乐的播放音量 (0-1f)。 | |
获取指定 ID 的背景音乐的音量。 | |
调整指定 ID 的背景音乐播放速度 (1 为正常速度)。 | |
获取指定 ID 的背景音乐的播放速度。 | |
获取当前使用的所有背景音乐信息列表。 |
预览逻辑相关方法
API | 描述 |
初始化预览播放器。需要一个包含父容器和渲染方式的参数 (TAVPreviewParam)。 | |
设置是否循环播放。 | |
获取当前是否设置为循环播放。 | |
开始播放。 | |
从指定时间 (CMTime) 开始播放。 | |
暂停播放。 | |
停止播放。 | |
刷新预览播放器。 | |
seek 到指定时间 (CMTime) 播放。 | |
seek 到指定时间播放,并在 seek 完成后执行回调。 | |
释放播放器。 | |
获取预览总时长(添加资源后需要调用 flushImmediately 后才能准确获取)。 | |
主轨道总时长(添加资源后可即时获取时长)。 | |
返回当前播放器是否正在播放中。 | |
获取当前播放的时间 (NSTimeInterval)。 | |
获取当前播放的时间 (CMTime)。 | |
获取当前播放器的填充模式。 | |
注销播放状态监听者。 | |
设置当前的渲染尺寸 (CGSize)。 | |
获取当前的渲染尺寸。 | |
获取当前播放器的完整 AVAsset 资源。 | |
获取当前播放器的完整 AVVideoComposition 视频组合。 |
滤镜设置相关方法
API | 描述 |
添加滤镜效果。通过 lutPath 指定滤镜素材,设置滤镜强度 (strength) 和生效区间 (timeRange)。返回创建滤镜时生成的唯一 ID。 | |
调整指定 ID 滤镜的强度 (strength) 和生效时间范围 (timeRange)。 | |
根据创建滤镜时生成的唯一 ID 删除滤镜。 | |
删除所有滤镜效果。 | |
保存指定 ID 滤镜的轨道下标。 | |
获取当前所有设置的滤镜效果信息列表。 |
特效相关设置
API | 描述 |
添加特效。通过 path 指定特效素材路径,并设置特效对应的时间区域 (timeRange)。返回创建特效时生成的唯一 ID。 | |
更新指定 ID 特效的播放时间区域 (timeRange)。 | |
根据创建特效时生成的唯一 ID 删除特效。 | |
删除所有特效。 | |
保存指定 ID 特效的轨道下标(供业务使用)。 | |
获取当前所有设置的特效信息列表。 |
导出相关设置
API | 描述 |
生成并导出视频。使用完整的导出配置 (TAVEditorGenerateConfig),如传 nil 则使用默认配置 (预览分辨率、30 帧、8Mbps 码率);提供导出进度和完成回调。 | |
快速生成并导出视频。使用完整的导出配置 (TAVEditorGenerateConfig);提供导出进度和完成回调。 | |
取消当前的视频生成任务,并在取消完成后执行回调。 | |
暂停当前的视频导出过程。 | |
继续被暂停的视频导出过程。 |
模板相关设置方法
API | 描述 |
获取指定路径 (templatePath) 视频模板的坑位信息 (TAVTemplateConfig)。 | |
应用指定路径 (templatePath) 的视频模板。返回 TAVTemplateCode,其中 0 表示成功,-1 表示路径无效,-2 表示无权限。 |
其他数据操作类获取方法
API | 描述 |
getPipManager | |
getStickerManager | |
getVideoFrameManager | |
getDraftManager |
setLogLevel:listener:
描述
设置 SDK 的日志级别和日志监听器。
接口
参数
参数名 | 类型 | 说明 |
logLevel | TAVLogLevel | 要设置的日志级别。 |
listener | 日志监听器,用于接收 SDK 输出的日志。如果传入 nil,则会移除当前的监听器。 |
返回值
类型:
void说明:无返回值。
initWithRenderSize:assetsPath:
描述
初始化 SDK 实例。
接口
-(instancetype)initWithRenderSize:(CGSize)renderSize assetsPath:(NSString *)assetsPath;参数
参数名 | 类型 | 说明 |
renderSize | CGSize | 画面渲染尺寸,根据宽高比缩放。传 CGSizeZero 则自动适应渲染尺寸。 |
assetsPath | NSString * | 模型资源路径。 |
返回值
类型:
instancetype / (TAVEditor *)说明:初始化后的 SDK 实例对象。
editorWithRenderSize:assetsPath:
描述
初始化 SDK 实例。
接口
+(instancetype)editorWithRenderSize:(CGSize)renderSize assetsPath:(NSString *)assetsPath;参数
参数名 | 类型 | 说明 |
renderSize | CGSize | 画面渲染尺寸,根据宽高比缩放。传 CGSizeZero 则自动适应渲染尺寸。 |
assetsPath | NSString * | 模型资源路径。 |
返回值
类型:
instancetype说明:创建并返回的编辑器实例对象。
fork
描述
创建一个当前编辑器的副本(深拷贝),包括所有的编辑状态和配置。
接口
-(instancetype)fork;参数
无
返回值
类型:
instancetype说明:返回一个新的、独立的编辑器实例,它具有与原始编辑器相同的状态。
addVideoClip:
描述
向编辑序列的末尾添加一个视频资源。
接口
-(int)addVideoClip:(NSString *)path;参数
参数名 | 类型 | 说明 |
path | NSString * | 视频素材的本地路径。 |
返回值
类型:
int说明:返回成功添加后该视频片段在序列中的索引(下标)。失败:-2,无权限;-1,参数输入错误/路径错误。
addVideoClips:index:
描述
在指定的索引位置插入一个视频资源路径数组。
接口
-(int)addVideoClips:(NSArray *)paths index:(int)index;参数
参数名 | 类型 | 说明 |
paths | NSArray * | 视频资源路径的数组。 |
index | int | 要插入资源的位置(下标)。 |
返回值
类型:
int说明:返回第一个成功添加的视频片段在序列中的索引(下标)。失败:-2,无权限;-1,参数输入错误/路径错误。
addImageClip:duration:
描述
向编辑序列的末尾添加一个图片资源,并指定其展示时长。
接口
-(int)addImageClip:(NSString *)path duration:(CMTime)duration;参数
参数名 | 类型 | 说明 |
path | NSString * | 图片资源的本地路径。 |
duration | CMTime | 图片素材在时间线上的展示时长。如果传入 kCMTimeZero,则使用默认时长(通常为 3 秒)。 |
返回值
类型:
int说明:返回成功添加后该图片片段在序列中的索引(下标)。失败:-2 => 无权限,-1 => 参数输入错误/路径错误。
addImageClips:index:durations:
描述
在指定的索引位置插入一个图片资源路径数组,并为每个图片指定展示时长。
接口
-(int)addImageClips:(NSArray<NSString *> *)paths index:(int)index durations:(NSArray<NSNumber *> *)durations;参数
参数名 | 类型 | 说明 |
paths | NSArray<NSString *> * | 图片资源路径的数组。 |
index | int | 要插入资源的位置(下标)。 |
durations | NSArray<NSNumber *> * | 每个图片素材的展示时长数组,单位为秒。如果传入 @0,则使用默认时长(通常为 3 秒)。 |
返回值
类型:
int说明:返回第一个成功添加的图片片段在序列中的索引(下标)。失败:-2,无权限;-1,参数输入错误/路径错误。
getClipCount
描述
获取当前正在编辑的时间线上的视频和图片资源的总数量。
接口
-(int)getClipCount;参数
无
返回值
类型:
int说明:返回当前编辑序列中的资源数量。
getClipInfos
描述
获取当前时间线中所有资源(视频/图片)的详细信息列表。
接口
-(NSArray<TAVClipInfo *> *)getClipInfos;参数
无
返回值
类型:
NSArray<TAVClipInfo *> *说明:返回包含当前所有资源信息的数组。
removeClip:
描述
移除指定位置的视频或图片资源片段。
接口
-(void)removeClip:(int)index;参数
参数名 | 类型 | 说明 |
index | int | 要移除的资源片段的索引(下标)。 |
返回值
类型:
void说明:无返回值。
removeAllClip
描述
删除时间线上的所有资源片段。
接口
-(void)removeAllClip;参数
无
返回值
类型:
void说明:无返回值。
clearAll
描述
清空时间线上所有的资源(视频、图片和背景音乐 BGM)和所有特效(贴纸 sticker、滤镜 filter 和运动特效 motion)。
接口
-(void)clearAll;参数
无
返回值
类型:
void说明:无返回值。
setClipRange:index:
描述
修改指定资源片段在时间线上的播放区间(即裁剪片段的起止点)。
接口
-(void)setClipRange:(CMTimeRange)timeRange index:(int)index;参数
参数名 | 类型 | 说明 |
timeRange | CMTimeRange | 资源播放的新区间,定义了素材在时间线上的起始时间和持续时间。 |
index | int | 要修改的资源片段的索引(下标)。 |
返回值
类型:
void说明:无返回值。
setClipSpeed:index:
描述
修改指定资源片段的播放速率,实现快放或慢放效果。
接口
-(void)setClipSpeed:(CGFloat)speed index:(int)index;参数
参数名 | 类型 | 说明 |
speed | CGFloat | 要设置的播放速率。有效范围为 (0, 3] 。 |
index | int | 要修改的资源片段的索引(下标)。 |
返回值
类型:
void说明:无返回值。
updateClipIndex:toIndex:
描述
调整时间线中资源片段的位置。
接口
-(BOOL)updateClipIndex:(int)oldIndex toIndex:(int)newIndex;参数
参数名 | 类型 | 说明 |
oldIndex | int | 调整前的资源片段索引(下标)。 |
newIndex | int | 调整后的新位置索引(下标)。 |
返回值
类型:
BOOL说明:调整成功返回 YES,否则返回 NO。
flushImmediately
描述
在改变资源或背景音乐(BGM)后,调用此接口同步重新生成播放器资源。该方法会触发一系列操作:1. 同步生成播放器资源。2. 播放器绑定新资源。3. 异步还原播放状态(如播放时间)。
接口
-(void)flushImmediately;参数
无
返回值
类型:
void说明:无返回值。
flushImmediatelyCompletion:
描述
在改变资源或背景音乐(BGM)后,调用此接口同步重新生成播放器资源,并在操作完成后执行回调。由于资源重新生成和状态还原是异步的耗时操作,建议在
completion 块内执行播放器的获取时间/是否正在播放等操作。接口
-(void)flushImmediatelyCompletion:(void (^)(BOOL finished))completion;参数
参数名 | 类型 | 说明 |
completion | void (^)(BOOL finished) | 资源更新完成后执行的回调块。 finished 表示操作是否成功完成。 |
返回值
类型:
void说明:无返回值。
preparePlayerItem
描述
用于在重新生成播放器资源操作中,单独执行耗时较长的第一步:准备并生成
AVPlayerItem。接口
-(AVPlayerItem *)preparePlayerItem;参数
无
返回值
类型:
AVPlayerItem *说明:返回根据当前编辑状态生成的播放器项目。
bindPlayerItem:completion:
描述
用于在重新生成播放器资源操作中,执行第二步:将已准备好的
AVPlayerItem 绑定到播放器,并还原播放状态。接口
-(void)bindPlayerItem:(AVPlayerItem *)playerItem completion:(void (^)(BOOL finished))completion;参数
参数名 | 类型 | 说明 |
playerItem | AVPlayerItem * | |
completion | void (^)(BOOL finished) | 绑定和状态还原完成后执行的回调块。 |
返回值
类型:
void说明:无返回值。
setClipVolume:index:
描述
设置指定资源片段(视频或图片)的背景音量。
接口
-(void)setClipVolume:(float)volume index:(int)index;参数
参数名 | 类型 | 说明 |
volume | float | 要设置的音量值,范围为 [0.0, 1.0]。 |
index | int | 要修改音量的资源片段的索引(下标)。 |
返回值
类型:
void说明:无返回值。
setAllClipsVolume:
描述
设置时间线上所有资源片段(视频和图片)的背景音量。
接口
-(void)setAllClipsVolume:(float)volume;参数
参数名 | 类型 | 说明 |
volume | float | 要设置的音量值,范围为 [0.0, 1.0] 。 |
返回值
类型:
void说明:无返回值。
getClipVolume:
描述
获取指定资源片段的当前音量设置。
接口
-(float)getClipVolume:(int)index;参数
参数名 | 类型 | 说明 |
index | int | 要查询音量的资源片段的索引(下标)。 |
返回值
类型:
float说明:返回指定资源的音量值[0.0, 1.0]。
setReverse:
描述
设置时间线上所有视频片段是否进行倒放播放。(待实现功能)
接口
-(void)setReverse:(BOOL)isReverse;参数
参数名 | 类型 | 说明 |
isReverse | BOOL | 设置为 YES 表示倒放,NO 表示正常播放。 |
返回值
类型:
void说明:无返回值。
setClipsRotation:
描述
设置时间线上所有视频和图片资源的统一旋转角度。旋转方向为顺时针。
接口
-(void)setClipsRotation:(int)rotation;参数
参数名 | 类型 | 说明 |
rotation | int | 顺时针旋转角度,范围为 (0, 360] 度。 |
返回值
类型:
void说明:无返回值。
setClipRotation:index:
描述
设置指定资源片段的旋转角度。旋转方向为顺时针。
接口
-(void)setClipRotation:(int)rotation index:(int)index;参数
参数名 | 类型 | 说明 |
rotation | int | 顺时针旋转角度,范围为 (0, 360]度。 |
index | int | 要修改旋转的资源片段的索引(下标)。 |
返回值
类型:
void说明:无返回值。
setClipTransform:
描述
对时间线上所有资源片段设置统一的仿射变换(形变)矩阵。
接口
-(void)setClipTransform:(CGAffineTransform)transform;参数
参数名 | 类型 | 说明 |
transform | CGAffineTransform | 要应用的仿射变换矩阵。 |
返回值
类型:
void说明:无返回值。
setClipTransform:index:
描述
对指定资源片段设置仿射变换(形变)矩阵。
接口
-(void)setClipTransform:(CGAffineTransform)transform index:(int)index;参数
参数名 | 类型 | 说明 |
transform | CGAffineTransform | 要应用的仿射变换矩阵。 |
index | int | 要修改形变的资源片段的索引(下标)。 |
返回值
类型:
void说明:无返回值。
setClipSize:
描述
设置时间线上所有资源片段的统一显示尺寸。
接口
-(void)setClipSize:(CGSize)size;参数
参数名 | 类型 | 说明 |
size | CGSize | 要设置的显示尺寸。 |
返回值
类型:
void说明:无返回值。
setClipSize:index:
描述
设置指定资源片段的显示尺寸。
接口
-(void)setClipSize:(CGSize)size index:(int)index;参数
参数名 | 类型 | 说明 |
size | CGSize | 要设置的显示尺寸。 |
index | int | 要修改尺寸的资源片段的索引(下标)。 |
返回值
类型:
void说明:无返回值。
setCropInfo:index:
描述
设置指定资源片段的裁剪信息。
接口
-(void)setCropInfo:(TAVMediaAssetCropInfo *)cropInfo index:(int)index;参数
参数名 | 类型 | 说明 |
cropInfo | TAVMediaAssetCropInfo * | 包含裁剪区域和模式的结构体信息。 |
index | int | 要设置裁剪信息的资源片段的索引(下标)。 |
返回值
类型:
void说明:无返回值。
addBgm:startAtVideoTime:timeRange:
描述
向时间线中添加背景音乐(BGM)。
接口
-(int)addBgm:(NSString *)bgmPath startAtVideoTime:(CMTime)startAtVideoTime timeRange:(CMTimeRange)timeRange;参数
参数名 | 类型 | 说明 |
bgmPath | NSString * | 音乐素材的文件路径。 |
startAtVideoTime | CMTime | BGM 在主时间轴中开始播放的时间点(默认值为 0)。例如,如果主轨道是 10 秒视频,在第 5 秒开始播放 BGM,则传入 5 秒对应的 CMTime。 |
timeRange | CMTimeRange | 截取音乐素材的播放区间(默认值为整首)。例如,一首歌时长为 0-90 秒,设置 timeRange 可以截取 0-90 任意一段音频来使用。 |
返回值
类型:
int说明:返回添加成功的 BGM 素材的唯一 ID。
removeBgm:
描述
根据唯一 ID 从时间线中删除背景音乐。
接口
-(BOOL)removeBgm:(int)bgmId;参数
参数名 | 类型 | 说明 |
bgmId | int | 背景音乐添加时生成的唯一 ID。 |
返回值
类型:
BOOL说明:删除成功返回 YES,否则返回 NO。
removeAllBgm
描述
删除时间线中的所有背景音乐。
接口
-(void)removeAllBgm;参数
无
返回值
类型:
void说明:无返回值。
updateBgm:atVideoTime:
描述
调整背景音乐在主时间轴中开始播放的位置。
接口
-(void)updateBgm:(int)bgmId atVideoTime:(CMTime)startAtVideoTime;参数
参数名 | 类型 | 说明 |
bgmId | int | 要修改的背景音乐的唯一 ID。 |
startAtVideoTime | CMTime | BGM 在主时间轴中新的开始播放时间。 |
返回值
类型:
void说明:无返回值。
updateBgm:playRange:
描述
设置背景音乐素材本身的播放区间(即裁剪 BGM 素材)。
接口
-(void)updateBgm:(int)bgmId playRange:(CMTimeRange)timeRange;参数
参数名 | 类型 | 说明 |
bgmId | int | 要修改的背景音乐的唯一 ID。 |
timeRange | CMTimeRange | 截取音乐素材的播放的新区间。 |
返回值
类型:
void说明:无返回值。
setBgm:volume:
描述
设置指定背景音乐的播放音量。
接口
-(void)setBgm:(int)bgmId volume:(float)volume;参数
参数名 | 类型 | 说明 |
bgmId | int | 要修改音量的背景音乐的唯一 ID。 |
volume | float | 要设置的音量值,范围为 [0.0, 1.0]。 |
返回值
类型:
void说明:无返回值。
setBgm:extraInfo:
描述
为指定的背景音乐设置额外的自定义信息。
接口
-(void)setBgm:(int)bgmId extraInfo:(NSDictionary *)extraInfo;参数
参数名 | 类型 | 说明 |
bgmId | int | 要设置额外信息的背景音乐的唯一 ID。 |
extraInfo | NSDictionary * | 自定义保存的额外信息字典。 |
返回值
类型:
void说明:无返回值。
getBgmExtraInfo:
描述
获取指定背景音乐的额外自定义信息。
接口
-(NSDictionary *)getBgmExtraInfo:(int)bgmId;参数
参数名 | 类型 | 说明 |
bgmId | int | 要获取额外信息的背景音乐的唯一 ID。 |
返回值
类型:
NSDictionary *说明:返回保存的额外信息字典。
setAllBgmVolume:
描述
设置时间线上所有背景音乐的统一播放音量。
接口
-(void)setAllBgmVolume:(float)volume;参数
参数名 | 类型 | 说明 |
volume | float | 要设置的音量值,范围为 [0.0, 1.0]。 |
返回值
类型:
void说明:无返回值。
getBgmVolume:
描述
获取指定背景音乐的当前音量设置。
接口
-(float)getBgmVolume:(int)bgmId;参数
参数名 | 类型 | 说明 |
bgmId | int | 要查询音量的背景音乐的唯一 ID。 |
返回值
类型:
float说明:返回指定背景音乐的音量值[0.0, 1.0]。
setBgm:speed:
描述
调整指定背景音乐的播放速度。
接口
-(void)setBgm:(int)bgmId speed:(float)speed;参数
参数名 | 类型 | 说明 |
bgmId | int | 要修改速度的背景音乐的唯一 ID。 |
speed | float | 播放速度。1.0 为正常速度,大于 1.0 为快放,小于 1.0 为慢放。 |
返回值
类型:
void说明:无返回值。
getBgmSpeed:
描述
获取指定背景音乐当前的播放速度
接口
-(float)getBgmSpeed:(int)bgmId;参数
参数名 | 类型 | 说明 |
bgmId | int | 要查询速度的背景音乐的唯一 ID。 |
返回值
类型:
float说明:返回指定背景音乐的播放速度。
getBgmInfos
描述
获取当前时间线中所有背景音乐的详细信息列表。
接口
-(NSArray<TAVBgmInfo *> *)getBgmInfos;参数
无
返回值
类型:
NSArray<TAVBgmInfo *> *说明:返回包含当前所有背景音乐信息的数组。
setPreview:
描述
初始化并设置预览播放器。需要提供播放器所需的父容器和渲染方式。
接口
-(void)setPreview:(TAVPreviewParam *)param;参数
参数名 | 类型 | 说明 |
param | TAVPreviewParam * | 包含父容器视图和渲染方式等参数的对象。 |
返回值
类型:
void说明:无返回值。
setPlayLoop:
描述
设置预览播放器是否循环播放。
接口
-(void)setPlayLoop:(BOOL)isLoop;参数
参数名 | 类型 | 说明 |
isLoop | BOOL | YES 表示设置循环播放,NO 表示单次播放。 |
返回值
类型:
void说明:无返回值。
isPlayLoop
描述
获取预览播放器当前是否设置为循环播放状态。
接口
-(BOOL)isPlayLoop;参数
无
返回值
类型:
BOOL说明:返回 YES 表示当前正在循环播放,NO 表示不是。
play
描述
开始播放预览内容。如果当前已暂停,则从暂停位置继续播放;如果处于停止状态,则从头开始播放。
接口
-(void)play;参数
无
返回值
类型:
void说明:无返回值。
playAtTime:
描述
从指定的时间点开始播放预览内容。
接口
-(void)playAtTime:(CMTime)time;参数
参数名 | 类型 | 说明 |
time | CMTime | 指定的开始播放时间。 |
返回值
类型:
void说明:无返回值。
pause
描述
暂停当前正在播放的预览内容。
接口
-(void)pause;参数
无
返回值
类型:
void说明:无返回值。
stop
描述
停止预览播放,并将播放头重置到时间线的起始位置(通常为 0 时刻)。
接口
-(void)stop;参数
无
返回值
类型:
void说明:无返回值。
refresh
描述
刷新预览播放器,通常用于在不改变时间线内容但更改了渲染设置或视图属性后更新显示。
接口
-(void)refresh;参数
无
返回值
类型:
void说明:无返回值。
seekToTime:
描述
将播放头跳转(seek)到指定的时间点。
接口
-(void)seekToTime:(CMTime)seekTime;参数
参数名 | 类型 | 说明 |
seekTime | CMTime | 指定的跳转时间。 |
返回值
类型:
void说明:无返回值。
seekToTime:completion:
描述
将播放头跳转(seek)到指定的时间点,并在跳转操作完成后执行回调。
接口
-(void)seekToTime:(CMTime)seekTime completion:(void (^)(BOOL finished))completion;参数
参数名 | 类型 | 说明 |
seekTime | CMTime | 指定的跳转时间。 |
completion | void (^)(BOOL finished) | seek 完成时的回调块。 finished 表示操作是否成功完成。 |
返回值
类型:
void说明:无返回值。
destoryPlayer
描述
释放预览播放器及其相关资源。
接口
-(void)destoryPlayer;参数
无
返回值
类型:
void说明:无返回值。
getTotalDuration
描述
获取整个时间线(包含所有资源和特效)的总时长。注意:在添加或修改资源后,需要先调用
flushImmediately 才能准确获取最新时长。接口
-(CMTime)getTotalDuration;参数
无
返回值
类型:
CMTime说明:返回整个编辑序列的总时长。
duration
描述
获取主轨道(视频/图片资源)的总时长。在添加资源后,可以即时获取时长。
接口
-(NSTimeInterval)duration;参数
无
返回值
类型:
NSTimeInterval说明:返回主轨道上的资源总时长(以秒为单位)。
isPlaying
描述
查询预览播放器当前是否正在播放。
接口
-(BOOL)isPlaying;参数
无
返回值
类型:
BOOL说明:返回 YES 表示正在播放,NO 表示已暂停或停止。
currentTime
描述
获取当前预览播放的时间(以秒为单位)。
接口
-(NSTimeInterval)currentTime;参数
无
返回值
类型:
NSTimeInterval说明:返回当前播放时间(以秒为单位)。
currentCMTime
描述
获取当前预览播放的时间(以
CMTime 结构体形式)。接口
-(CMTime)currentCMTime;参数
无
返回值
类型:
CMTime说明:返回当前播放时间。
setPlayerViewFillMode:
描述
设置预览播放视图的填充模式,例如适应或充满屏幕。
接口
-(void)setPlayerViewFillMode:(TAVPlayerFillMode)fillMode;参数
参数名 | 类型 | 说明 |
fillMode | 要设置的预览填充模式枚举。 |
返回值
类型:
void说明:无返回值。
playerViewFillMode
描述
获取当前预览播放视图的填充模式。
接口
-(TAVPlayerFillMode)playerViewFillMode;参数
无
返回值
类型:
TAVPlayerFillMode说明:返回当前的播放器填充模式。
registerPlayerObserver:
描述
注册播放状态监听者,用于接收播放器状态、时间进度等事件的回调。
接口
-(void)registerPlayerObserver:(id<TAVEditorPlayerObserver>)observer;参数
参数名 | 类型 | 说明 |
observer | id<TAVEditorPlayerObserver> |
返回值
类型:
void说明:无返回值。
resignObserver:
描述
注销已注册的播放状态监听者。
接口
-(void)resignObserver:(id<TAVEditorPlayerObserver>)observer;参数
参数名 | 类型 | 说明 |
observer | id<TAVEditorPlayerObserver> | 要注销的监听者对象。 |
返回值
类型:
void说明:无返回值。
setRenderSize:
描述
设置最终渲染画面的尺寸。
接口
-(void)setRenderSize:(CGSize)renderSize;参数
参数名 | 类型 | 说明 |
renderSize | CGSize | 要设置的渲染尺寸(宽高)。 |
返回值
类型:
void说明:无返回值。
getRenderSize
描述
获取当前的渲染画面尺寸。
接口
-(CGSize)getRenderSize;参数
无
返回值
类型:
CGSize说明:返回当前的渲染尺寸。
currentAVAsset
描述
获取当前播放器使用的完整
AVAsset 对象,该对象包含了所有轨道资源信息。接口
-(AVAsset *)currentAVAsset;参数
无
返回值
类型:
AVAsset *说明:返回当前编辑状态下生成的
AVAsset。currentComposition
描述
获取当前播放器使用的完整
AVVideoComposition 对象,该对象描述了视频轨道如何合成和渲染(包括滤镜、变换等)。接口
-(AVVideoComposition *)currentComposition;参数
无
返回值
类型:
AVVideoComposition *说明:返回当前编辑状态下生成的视频合成对象。
addFilter:strength:timeRange:
描述
设置并添加一个滤镜效果到时间线上。
接口
-(int)addFilter:(NSString *)lutPath strength:(float)strength timeRange:(CMTimeRange)timeRange;参数
参数名 | 类型 | 说明 |
lutPath | NSString * | 滤镜素材文件的路径,通常为 LUT 文件路径。 |
strength | float | 滤镜的强度,通常范围为 [0.0, 1.0]。 |
timeRange | CMTimeRange | 滤镜效果在时间线上生效的区间。 |
返回值
类型:
int说明:返回创建滤镜时生成的唯一 ID。
setFilter:Strength:timeRange:
描述
调整指定 ID 滤镜的强度和其在时间线上的生效区间。
接口
-(void)setFilter:(int)lutId Strength:(float)strength timeRange:(CMTimeRange)timeRange;参数
参数名 | 类型 | 说明 |
lutId | int | 创建滤镜时生成的唯一 ID。 |
strength | float | 滤镜新的强度。 |
timeRange | CMTimeRange | 滤镜新的生效区间。 |
返回值
类型:
void说明:无返回值。
removeFilter:
描述
根据唯一 ID 删除指定的滤镜效果。
接口
-(void)removeFilter:(int)lutId;参数
参数名 | 类型 | 说明 |
lutId | int | 要删除的滤镜的唯一 ID。 |
返回值
类型:
void说明:无返回值。
removeAllFilter
描述
删除时间线上所有已设置的滤镜效果。
接口
-(void)removeAllFilter;参数
无
返回值
类型:
void说明:无返回值。
setFilter:trackIndex:
描述
为指定的滤镜效果保存其应用的轨道下标。(主要供业务内部使用)
接口
-(void)setFilter:(int)lutId trackIndex:(int)trackIndex;参数
参数名 | 类型 | 说明 |
lutId | int | 滤镜的唯一 ID。 |
trackIndex | int | 滤镜所应用的轨道下标。 |
返回值
类型:
void说明:无返回值。
getFilterInfos
描述
获取当前时间线上所有已设置滤镜效果的详细信息列表。
接口
-(NSArray<TAVFilterInfo *> *)getFilterInfos;参数
无
返回值
类型:
NSArray<TAVFilterInfo *> *说明:返回包含当前所有滤镜信息的数组。
addMotionEffect:timeRange:
描述
设置并添加一个运动特效(Motion Effect)到时间线上。
接口
-(int)addMotionEffect:(NSString *)path timeRange:(CMTimeRange)timeRange;参数
参数名 | 类型 | 说明 |
path | NSString * | 特效素材的文件路径。 |
timeRange | CMTimeRange | 特效效果在时间线上生效的对应时间区域。 |
返回值
类型:
int说明:返回创建特效时生成的唯一 ID。
updateMotionEffect:playRange:
描述
更新指定 ID 特效在时间线上的播放区间。
接口
-(void)updateMotionEffect:(int)effectId playRange:(CMTimeRange)timeRange;参数
参数名 | 类型 | 说明 |
effectId | int | 要更新的特效的唯一 ID。 |
timeRange | CMTimeRange | 特效新的展示区间。 |
返回值
类型:
void说明:无返回值。
removeMotionEffect:
描述
根据唯一 ID 删除指定的运动特效。
接口
-(void)removeMotionEffect:(int)effectId;参数
参数名 | 类型 | 说明 |
effectId | int | 要删除的特效的唯一 ID。 |
返回值
类型:
void说明:无返回值。
removeAllMotionEffect
描述
删除时间线上所有已设置的运动特效。
接口
-(void)removeAllMotionEffect;参数
无
返回值
类型:
void说明:无返回值。
setMotionEffect:trackIndex:
描述
为指定的运动特效保存其应用的轨道下标。(主要供业务内部使用)
接口
-(void)setMotionEffect:(int)effectId trackIndex:(int)trackIndex;参数
参数名 | 类型 | 说明 |
effectId | int | 特效的唯一 ID。 |
trackIndex | int | 特效所应用的轨道下标。 |
返回值
类型:
void说明:无返回值。
getEffectInfos
描述
获取当前时间线上所有已设置运动特效的详细信息列表。
接口
-(NSArray<TAVEffectInfo *> *)getEffectInfos;参数
无
返回值
类型:
NSArray<TAVEffectInfo *> *说明:返回包含当前所有运动特效信息的数组。
generateVideo:outputPath:progress:completion:
描述
根据当前编辑状态生成并导出最终的视频文件。
接口
-(void)generateVideo:(TAVEditorGenerateConfig *)config outputPath:(NSString *)outputPath progress:(void (^)(CGFloat progress))progressBlock completion:(void (^)(NSError *error, NSString *outputPath))completion;参数
参数名 | 类型 | 说明 |
config | TAVEditorGenerateConfig * | 导出视频的配置对象。如果传入 nil,将使用默认配置(分辨率使用预览分辨率、帧数为 30、码率为 8 * 1000 * 1000 )。 |
outputPath | NSString * | 视频文件最终的导出路径。 |
progressBlock | void (^)(CGFloat progress) | 导出进度回调块,用于报告 [0.0, 1.0] 之间的进度值。 |
completion | void (^)(NSError *error, NSString *outputPath) | 导出完成回调块。如果导出失败, error 包含错误信息;outputPath 是最终成功导出的文件路径。 |
返回值
类型:
void说明:
error错误码200001:导出时进入后台;200002:导出文件从临时目录移动失败, 其他为系统错误码。generateVideoWithCompressed:outputPath:progress:completion:
描述
使用预设的压缩分辨率配置生成并导出最终的视频文件。
接口
-(void)generateVideoWithCompressed:(TAVVideoCompressed)compressed outputPath:(NSString *)outputPath progress:(void (^)(CGFloat progress))progressBlock completion:(void (^)(NSError *error, NSString *outputPath))completion;参数
参数名 | 类型 | 说明 |
compressed | 导出视频所使用的预设分辨率枚举值。 | |
outputPath | NSString * | 视频文件最终的导出路径。 |
progressBlock | void (^)(CGFloat progress) | 导出进度回调块。 |
completion | void (^)(NSError *error, NSString *outputPath) | 导出完成回调块。 |
返回值
类型:
void说明:
error错误码200001:导出时进入后台;200002:导出文件从临时目录移动失败, 其他为系统错误码。quickGenerateVideo:outputPath:progress:completion:
描述
快速生成并导出最终的视频文件。相较于
generateVideo,该方法可能使用更优化的设置以加快导出速度。接口
-(void)quickGenerateVideo:(TAVEditorGenerateConfig *)config outputPath:(NSString *)outputPath progress:(void (^)(CGFloat progress))progressBlock completion:(void (^)(NSError *error, NSString *outputPath))completion;参数
参数名 | 类型 | 说明 |
config | TAVEditorGenerateConfig * | 导出视频的配置对象。如果传入 nil,将使用默认配置。 |
outputPath | NSString * | 视频文件最终的导出路径。 |
progressBlock | void (^)(CGFloat progress) | 导出进度回调块。 |
completion | void (^)(NSError *error, NSString *outputPath) | 导出完成回调块。 |
返回值
类型:
void说明:
error错误码200001:导出时进入后台;200002:导出文件从临时目录移动失败, 其他为系统错误码。quickGenerateVideoWithCompressed:outputPath:progress:completion:
描述
使用预设的压缩分辨率配置,快速生成并导出最终的视频文件。
接口
-(void)quickGenerateVideoWithCompressed:(TAVVideoCompressed)compressed outputPath:(NSString *)outputPath progress:(void (^)(CGFloat progress))progressBlock completion:(void (^)(NSError *error, NSString *outputPath))completion;参数
参数名 | 类型 | 说明 |
compressed | 导出视频所使用的预设分辨率枚举值。 | |
outputPath | NSString * | 视频文件最终的导出路径。 |
progressBlock | void (^)(CGFloat progress) | 导出进度回调块。 |
completion | void (^)(NSError *error, NSString *outputPath) | 导出完成回调块。 |
返回值
类型:
void说明:
error错误码200001:导出时进入后台;200002:导出文件从临时目录移动失败, 其他为系统错误码。cancelGenerate:
描述
取消当前正在进行的视频生成/导出操作。
接口
-(void)cancelGenerate:(void(^ __nullable)(void))completion;参数
参数名 | 类型 | 说明 |
completion | void (^ __nullable)(void) | 取消操作完成后执行的回调块。 |
返回值
类型:
void说明:无返回值。
pauseGenerate
描述
暂停当前正在进行的视频导出操作。
接口
-(void)pauseGenerate;参数
无
返回值
类型:
void说明:无返回值。
resumeGenerate
描述
继续执行已暂停的视频导出操作。
接口
-(void)resumeGenerate;参数
无
返回值
类型:
void说明:无返回值。
getTemplateConfig:
描述
获取指定视频模板文件的配置信息,包括视频/图片替换的坑位信息。
接口
-(TAVTemplateConfig * _Nullable)getTemplateConfig:(NSString * _Nullable)templatePath;参数
参数名 | 类型 | 说明 |
templatePath | NSString * _Nullable | 视频模板素材的文件路径。 |
返回值
类型:
TAVTemplateConfig * _Nullable说明:返回模板配置信息对象;如果路径无效或模板不存在,则返回
nil。setTemplate:
描述
将指定的视频模板应用于当前编辑器,替换时间线上的现有内容并应用模板中的特效。
接口
-(TAVTemplateCode)setTemplate:(NSString * _Nullable)templatePath;参数
参数名 | 类型 | 说明 |
templatePath | NSString * _Nullable | 视频模板素材的文件路径。 |
返回值
类型:
TAVTemplateCode说明:返回模板应用状态码。0 表示成功,-1 表示路径无效,-2 表示无权限。
ITAVPipManager
API | 描述 |
设置画中画视图的数据源 (id<ITAVPipViewDataSource>)。 | |
创建画中画对象 (TAVMediaPipItem)。指定资源路径 (filePath) 和媒体类型 (mediaType),其中 0 为视频,1 为图片。 | |
添加画中画到编辑器轨道。 | |
删除指定的画中画对象。 | |
删除当前处于活跃状态的画中画对象。 | |
删除所有画中画对象。 | |
获取当前所有的画中画对象列表。 | |
注销画中画上下文状态的监听者。 | |
获取当前处于活跃状态的画中画对象。 | |
激活指定的画中画对象,使其成为当前操作对象。 | |
取消激活指定的画中画对象。 | |
取消激活当前处于活跃状态的画中画对象。 | |
通过画中画对象 (pipItem) 查找对应的画中画视图 (TAVPipView)。 |
setPipViewDataSource:
描述
设置画中画(PIP)视图的数据源。该数据源负责提供自定义的 PIP 视图或相关配置。
接口
-(void)setPipViewDataSource:(id<ITAVPipViewDataSource>)dataSource;参数
参数名 | 类型 | 说明 |
dataSource | id<ITAVPipViewDataSource> | 遵循 ITAVPipViewDataSource 协议的对象,用于提供画中画视图所需的数据和逻辑。 |
返回值
类型:
void说明:无返回值。
createPipItem:mediaType:
描述
创建一个画中画(PIP)资源对象。
接口
-(TAVMediaPipItem *)createPipItem:(NSString *)filePath mediaType:(NSInteger)mediaType;参数
参数名 | 类型 | 说明 |
filePath | NSString * | 画中画素材的文件路径。 |
mediaType | NSInteger | 资源类型,0 表示视频,1 表示图片。 |
返回值
类型:
TAVMediaPipItem *说明:返回新创建的画中画资源对象。
loadPip:
描述
将一个画中画资源对象加载到时间线上。
接口
-(void)loadPip:(TAVMediaPipItem *)pipItem;参数
参数名 | 类型 | 说明 |
pipItem | TAVMediaPipItem * | 要加载到时间线上的画中画对象。 |
返回值
类型:
void说明:无返回值。
removePip:
描述
从时间线上移除指定的画中画资源对象。
接口
-(void)removePip:(TAVMediaPipItem *)pipItem;参数
参数名 | 类型 | 说明 |
pipItem | TAVMediaPipItem * | 要删除的画中画对象。 |
返回值
类型:
void说明:无返回值。
removeCurrentPip
描述
移除当前被激活(处于编辑焦点)的画中画资源。
接口
-(void)removeCurrentPip;参数
无
返回值
类型:
void说明:无返回值。
removeAllPip
描述
移除时间线上所有的画中画资源。
接口
-(void)removeAllPip;参数
无
返回值
类型:
void说明:无返回值。
getAllPipItems
描述
获取时间线上所有画中画资源的列表。
接口
-(NSArray<TAVMediaPipItem *> *)getAllPipItems;参数
无
返回值
类型:
NSArray<TAVMediaPipItem *> *说明:返回包含所有画中画对象的数组。
addPipObserver:
描述
注册画中画上下文状态监听者,用于监听画中画的激活、解除激活等事件。
接口
-(void)addPipObserver:(id<TAVPipContextObserver>)observer;参数
参数名 | 类型 | 说明 |
observer | id<TAVPipContextObserver> |
返回值
类型:
void说明:无返回值。
removePipObserver:
描述
注销已注册的画中画上下文状态监听者。
接口
-(void)removePipObserver:(id<TAVPipContextObserver>)observer;参数
参数名 | 类型 | 说明 |
observer | id<TAVPipContextObserver> | 要注销的监听者对象。 |
返回值
类型:
void说明:无返回值。
getCurrentPipItem
描述
获取当前处于编辑/激活状态的画中画对象。
接口
-(TAVMediaPipItem *)getCurrentPipItem;参数
无
返回值
类型:
TAVMediaPipItem *说明:返回当前的画中画对象。
activePip:
描述
激活指定的画中画对象,使其进入编辑状态。
接口
-(void)activePip:(TAVMediaPipItem *)pipItem;参数
参数名 | 类型 | 说明 |
pipItem | TAVMediaPipItem * | 要激活的画中画对象。 |
返回值
类型:
void说明:无返回值。
resignPip:
描述
解除指定画中画对象的激活状态(退出编辑状态)。
接口
-(void)resignPip:(TAVMediaPipItem *)pipItem;参数
参数名 | 类型 | 说明 |
pipItem | TAVMediaPipItem * | 要解除激活状态的画中画对象。 |
返回值
类型:
void说明:无返回值。
resignCurrentPip
描述
解除当前处于激活状态的画中画对象。
接口
-(void)resignCurrentPip;参数
无
返回值
类型:
void说明:无返回值。
fetchPipView:
描述
通过画中画对象,查找并返回对应的渲染视图。
接口
-(TAVPipView *)fetchPipView:(TAVMediaPipItem *)pipItem;参数
参数名 | 类型 | 说明 |
pipItem | TAVMediaPipItem * | 用于查找其对应视图的画中画对象。 |
返回值
类型:
TAVPipView *说明:返回与
pipItem 关联的画中画视图。ITAVStickerManager
API | 描述 |
设置贴纸视图的数据源 (id<ITAVStickerViewDataSource>),要求实现返回贴纸视图的方法。 | |
创建贴纸对象 (TAVMediaStickerItem)。指定贴纸路径 (stickerPath) 和贴纸类型 (stickerItemType)。 | |
加载并添加贴纸对象到编辑器轨道。 | |
删除指定的贴纸对象。 | |
删除所有贴纸对象。 | |
删除当前处于活跃状态的贴纸。 | |
获取当前处于活跃状态的贴纸对象 (TAVMediaStickerItem)。 | |
获取所有贴纸对象列表。 | |
根据 TAVSticker 查找对应的贴纸对象 (TAVMediaStickerItem)。 | |
获取当前处于活跃状态的贴纸的渲染层对象 (TAVSticker)。 | |
获取当前处于活跃状态的贴纸视图 (TAVStickerView)。 | |
通过 TAVSticker 获取对应的贴纸视图。 | |
通过 TAVMediaStickerItem 获取对应的贴纸视图。 | |
删除贴纸上下文状态的观察者。 | |
激活贴纸:隐藏渲染层的贴纸,显示 stickerContentView 上对应的交互视图。 | |
注销贴纸:显示渲染层的贴纸,隐藏 stickerContentView 上对应的交互视图。 | |
注销当前处于活跃状态的贴纸。 | |
注销所有处于活跃状态的贴纸。 | |
获取当前的视频显示矩形区域 (CGRect)。 |
setStickerViewDataSource:
描述
设置贴纸视图的数据源。该数据源需要实现
stickerViewWithStickerItem 方法,以返回自定义的贴纸视图。接口
-(void)setStickerViewDataSource:(id<ITAVStickerViewDataSource>)dataSource;参数
参数名 | 类型 | 说明 |
dataSource | id<ITAVStickerViewDataSource> | 贴纸视图的数据源对象。 |
返回值
类型:
void说明:无返回值。
createStickerItem:stickerType:
描述
创建一个贴纸对象(
TAVMediaStickerItem)。接口
-(TAVMediaStickerItem *)createStickerItem:(NSString *)stickerPath stickerType:(TAVStickerItemType)stickerItemType;参数
参数名 | 类型 | 说明 |
stickerPath | NSString * | 贴纸素材的路径。 |
stickerItemType | TAVStickerItemType | 贴纸资源的类型。 |
返回值
类型:
TAVMediaStickerItem *说明:返回新创建的贴纸对象。
loadStickerItem:
描述
将一个贴纸对象加载到时间线上。
接口
-(void)loadStickerItem:(TAVMediaStickerItem *)stickerItem;参数
参数名 | 类型 | 说明 |
stickerItem | TAVMediaStickerItem * | 要加载的贴纸对象。 |
返回值
类型:
void说明:无返回值。
removeStickerItem:
描述
从时间线上删除指定的贴纸对象。
接口
-(void)removeStickerItem:(TAVMediaStickerItem *)stickerItem;参数
参数名 | 类型 | 说明 |
stickerItem | TAVMediaStickerItem * | 要删除的贴纸对象。 |
返回值
类型:
void说明:无返回值。
removeAllStickerItem
描述
删除时间线上所有的贴纸对象。
接口
-(void)removeAllStickerItem;参数
无
返回值
类型:
void说明:无返回值。
removeCurrentSticker
描述
删除当前处于激活状态(编辑焦点)的贴纸。
接口
-(void)removeCurrentSticker;参数
无
返回值
类型:
void说明:无返回值。
getCurrentStickerItem
描述
获取当前处于激活状态的贴纸对象(
TAVMediaStickerItem)。接口
-(TAVMediaStickerItem *)getCurrentStickerItem;参数
无
返回值
类型:
TAVMediaStickerItem *说明:返回当前的贴纸对象。
getAllStickerItems
描述
获取时间线上所有贴纸对象(
TAVMediaStickerItem)的列表。接口
-(NSArray <TAVMediaStickerItem *>*)getAllStickerItems;参数
无
返回值
类型:
NSArray <TAVMediaStickerItem *>*说明:返回包含所有贴纸对象的数组。
getStickerItemWithSticker:
描述
根据贴纸渲染层对象(
TAVSticker),查找并返回对应的贴纸对象(TAVMediaStickerItem)。接口
-(TAVMediaStickerItem *)getStickerItemWithSticker:(TAVSticker *)sticker;参数
参数名 | 类型 | 说明 |
sticker | TAVSticker * | 贴纸渲染层对象。 |
返回值
类型:
TAVMediaStickerItem *说明:返回对应的贴纸对象。
getCurrentSticker
描述
获取当前处于激活状态的贴纸渲染层对象(
TAVSticker)。接口
-(TAVSticker *)getCurrentSticker;参数
无
返回值
类型:
TAVSticker *说明:返回当前的贴纸渲染层对象。
getCurrentStickerView
描述
获取当前处于激活状态的贴纸视图(
TAVStickerView)。接口
-(TAVStickerView *)getCurrentStickerView;参数
无
返回值
类型:
TAVStickerView *说明:返回当前的贴纸视图。
fetchStickerView:
描述
通过贴纸渲染层对象(
TAVSticker)查找并返回对应的贴纸视图。接口
-(TAVStickerView *)fetchStickerView:(TAVSticker *)sticker;参数
参数名 | 类型 | 说明 |
sticker | TAVSticker * | 贴纸渲染层对象。 |
返回值
类型:
TAVStickerView *说明:返回与
sticker 关联的贴纸视图。fetchStickerVIewWithItem:
描述
通过贴纸对象(
TAVMediaStickerItem)查找并返回对应的贴纸视图。接口
-(TAVStickerView *)fetchStickerVIewWithItem:(TAVMediaStickerItem *)stickerItem;参数
参数名 | 类型 | 说明 |
stickerItem | TAVMediaStickerItem * | 贴纸对象。 |
返回值
类型:
TAVStickerView *说明:返回与
stickerItem 关联的贴纸视图。addStickerObserver:
描述
添加贴纸观察者,用于监听贴纸上下文的状态变化(如激活/注销)。
接口
-(void)addStickerObserver:(id<TAVStickerContextObserver>)observer;参数
参数名 | 类型 | 说明 |
observer | id<TAVStickerContextObserver> |
返回值
类型:
void说明:无返回值。
removeStickerObserver:
描述
删除已添加的贴纸观察者。
接口
-(void)removeStickerObserver:(id<TAVStickerContextObserver>)observer;参数
参数名 | 类型 | 说明 |
observer | id<TAVStickerContextObserver> | 要删除的观察者对象。 |
返回值
类型:
void说明:无返回值。
activeStickerItem:
描述
激活指定的贴纸对象,使其进入编辑状态(隐藏渲染层的贴纸,显示自定义视图层的贴纸)。
接口
-(void)activeStickerItem:(TAVMediaStickerItem *)stickerItem;参数
参数名 | 类型 | 说明 |
stickerItem | TAVMediaStickerItem * | 要激活的贴纸对象。 |
返回值
类型:
void说明:无返回值。
resignStickerItem:
描述
注销指定的贴纸对象(显示渲染层的贴纸,隐藏自定义视图层的贴纸)。
接口
-(void)resignStickerItem:(TAVMediaStickerItem *)stickerItem;参数
参数名 | 类型 | 说明 |
stickerItem | TAVMediaStickerItem * | 要注销的贴纸对象。 |
返回值
类型:
void说明:无返回值。
resignCurrentStickerItem
描述
注销当前处于激活状态的贴纸。
接口
-(void)resignCurrentStickerItem;参数
无
返回值
类型:
void说明:无返回值。
resignAllStickerItems
描述
注销所有处于激活状态的贴纸。
接口
-(void)resignAllStickerItems;参数
无
返回值
类型:
void说明:无返回值。
currentVideoRect
描述
获取当前视频在预览窗口中的显示矩形(Rect)。
接口
-(CGRect)currentVideoRect;参数
无
返回值
类型:
CGRect说明:返回当前的视频显示矩形。
ITAVFrameProvider
API | 描述 |
异步:根据主轨道资源下标 (clipIndex),在指定数量 (count) 和大小 (size) 下,获取该资源的缩略图数组。返回 Generator 对象可用于取消操作。 | |
异步:根据主轨道资源下标 (clipIndex) 和指定时间 (pts),获取单张缩略图。返回 Generator 对象可用于取消操作。 | |
同步:根据主轨道资源下标 (clipIndex) 和指定时间 (pts),同步获取并返回当前帧缩略图。 | |
异步:获取主轨指定时间 (pts) 对应的渲染结果帧。isExportMode 决定结果与预览一致还是与导出一致。返回 Generator 对象用于取消操作。 | |
异步:获取主轨多个时间点 (times) 对应的渲染结果帧。返回包含多个帧的字典,返回 Generator 对象可用于取消操作。 | |
同步:获取主轨指定时间 (pts) 对应的渲染结果帧。longSide 指定最长边的长度。 | |
同步:获取主轨多个时间点 (times) 对应的渲染结果帧。返回包含多个帧的字典。 | |
异步:根据视频资源路径 (videoPath),在指定数量、大小和时间范围 (timeRange) 内,获取缩略图数组。返回 Generator 对象可用于取消操作。 | |
异步:根据视频资源路径 (videoPath) 和指定时间 (pts),获取单张缩略图。返回 Generator 对象可用于取消操作。 | |
同步:根据视频资源路径 (videoPath) 和指定时间 (pts),同步获取并返回当前帧缩略图。 | |
取消指定的生成操作,如取消缩略图或帧的生成任务。 |
getClipThumbnail:count:size:completion:
描述
根据主轨道资源下标,异步获取等间隔的缩略图数组。
接口
-(id)getClipThumbnail:(int)clipIndex count:(int)count size:(CGSize)size completion:(void (^)(NSArray *images))thumbCompletion;参数
参数名 | 类型 | 说明 |
clipIndex | int | 资源文件在主轨道中的下标。 |
count | int | 需要生成的缩略图数量。 |
size | CGSize | 缩略图的尺寸(宽高)。 |
thumbCompletion | void (^)(NSArray *images) | 回调,返回对应缩略图数组。 |
返回值
类型:
id说明:返回一个 Generator 对象,可用于调用
cancelGenerate: 取消生成。getClipThumbnail:pts:size:completion:
描述
根据主轨道资源下标和时间点(pts),异步获取对应的单张缩略图。
接口
-(id)getClipThumbnail:(int)clipIndex pts:(CMTime)pts size:(CGSize)size completion:(void (^)(UIImage *image))thumbCompletion;参数
参数名 | 类型 | 说明 |
clipIndex | int | 资源文件在主轨道中的索引。 |
pts | CMTime | 资源文件中的时间点。 |
size | CGSize | 缩略图的尺寸(宽高)。 |
thumbCompletion | void (^)(UIImage *image) | 回调,返回对应的缩略图。 |
返回值
类型:
id说明:返回一个 Generator 对象,可用于调用
cancelGenerate: 取消生成。getClipThumbnail:pts:size:
描述
根据主轨道资源下标和时间点(pts),同步获取对应的单张缩略图。
接口
-(UIImage *)getClipThumbnail:(int)clipIndex pts:(CMTime)pts size:(CGSize)size;参数
参数名 | 类型 | 说明 |
clipIndex | int | 资源文件在主轨道中的索引。 |
pts | CMTime | 资源文件中的时间点。 |
size | CGSize | 缩略图的尺寸(宽高)。 |
返回值
类型:
UIImage *说明:返回当前帧的缩略图。
getClipFrameAtTime:exportMode:longSide:completion:
描述
获取主轨道时间点(pts)对应的渲染结果帧 - 异步。
接口
-(id)getClipFrameAtTime:(CMTime)pts exportMode:(BOOL)isExportMode longSide:(CGFloat)length completion:(void (^)(UIImage *image))completion;参数
参数名 | 类型 | 说明 |
pts | CMTime | 时间点。 |
isExportMode | BOOL | 是否为导出模式:YES 结果与导出一致,NO 结果与预览一致(默认)。 |
length | CGFloat | 结果图像最长边的长度,SDK 会等比计算短边。 |
completion | void (^)(UIImage *image) | 回调,返回对应的渲染帧图片。 |
返回值
类型:
id说明:返回一个 Generator 对象,可用于调用
cancelGenerate: 取消生成。getClipFrameWithTimes:exportMode:longSide:completion:
描述
获取主轨道多个时间点(times)对应的渲染结果帧 - 异步。
接口
-(id)getClipFrameWithTimes:(NSArray <NSValue *>*)times exportMode:(BOOL)isExportMode longSide:(CGFloat)length completion:(void (^)(NSDictionary <NSValue *, UIImage *> *images))completion;参数
参数名 | 类型 | 说明 |
times | NSArray <NSValue *>* | 包含多个时间点( CMTime 封装在 NSValue 中)的数组。 |
isExportMode | BOOL | 是否为导出模式:YES 结果与导出一致,NO 结果与预览一致。 |
length | CGFloat | 结果图像最长边的长度,SDK 会等比计算短边。 |
completion | void (^)(NSDictionary <NSValue *, UIImage *> *images) | 回调,返回时间点和对应渲染帧图片的字典。 |
返回值
类型:
id说明:返回一个 Generator 对象,可用于调用
cancelGenerate: 取消生成。getClipFrameAtTime:exportMode:longSide:
描述
获取主轨道时间点(pts)对应的渲染结果帧 - 同步。
接口
-(UIImage *)getClipFrameAtTime:(CMTime)pts exportMode:(BOOL)isExportMode longSide:(CGFloat)length;参数
参数名 | 类型 | 说明 |
pts | CMTime | 时间点。 |
isExportMode | BOOL | 是否为导出模式。 |
length | CGFloat | 结果图像最长边的长度,SDK 会等比计算短边。 |
返回值
类型:
UIImage *说明:返回当前的渲染帧图片。
getClipFrameWithTimes:exportMode:longSide:
描述
获取主轨道多个时间点(times)对应的渲染结果帧 - 同步。
接口
-(NSDictionary <NSValue *, UIImage *> *)getClipFrameWithTimes:(NSArray <NSValue *>*)times exportMode:(BOOL)isExportMode longSide:(CGFloat)length;参数
参数名 | 类型 | 说明 |
times | NSArray <NSValue *>* | 包含多个时间点( CMTime 封装在 NSValue 中)的数组。 |
isExportMode | BOOL | 是否为导出模式。 |
length | CGFloat | 结果图像最长边的长度,SDK 会等比计算短边。 |
返回值
类型:
NSDictionary <NSValue *, UIImage *> *说明:返回时间点和对应渲染帧图片的字典。
getThumbnail:count:size:timeRange:completion:
描述
根据视频资源路径,异步获取等间隔的缩略图数组。
接口
-(id)getThumbnail:(NSString *)videoPath count:(int)count size:(CGSize)size timeRange:(CMTimeRange)timeRange completion:(void (^)(NSArray<UIImage *> *images, NSError *error))thumbCompletion;参数
参数名 | 类型 | 说明 |
videoPath | NSString * | 视频资源的路径。 |
count | int | 需要生成的缩略图数量。 |
size | CGSize | 缩略图的尺寸(宽高)。 |
timeRange | CMTimeRange | 视频时间抽帧范围,默认为整个视频时间范围。 |
thumbCompletion | void (^)(NSArray<UIImage *> *images, NSError *error) | 回调,返回对应缩略图数组及错误信息。 |
返回值
类型:
id说明:返回一个 Generator 对象,可用于调用
cancelGenerate: 取消生成。getThumbnail:pts:size:completion:
描述
根据视频资源路径和时间点(pts),异步获取对应的单张缩略图。
接口
-(id)getThumbnail:(NSString *)videoPath pts:(CMTime)pts size:(CGSize)size completion:(void (^)(UIImage *image, NSError *error))thumbCompletion;参数
参数名 | 类型 | 说明 |
videoPath | NSString * | 视频资源的路径。 |
pts | CMTime | 资源文件中的时间点。 |
size | CGSize | 缩略图的尺寸(宽高)。 |
thumbCompletion | void (^)(UIImage *image, NSError *error) | 回调,返回对应的缩略图及错误信息。 |
返回值
类型:
id说明:返回一个 Generator 对象, 可用于调用
cancelGenerate: 取消生成。getThumbnail:pts:size:
描述
根据视频资源路径和时间点(pts),同步获取对应的单张缩略图。
接口
-(UIImage *)getThumbnail:(NSString *)videoPath pts:(CMTime)pts size:(CGSize)size;参数
参数名 | 类型 | 说明 |
videoPath | NSString * | 视频资源的路径。 |
pts | CMTime | 资源文件中的时间点。 |
size | CGSize | 缩略图的尺寸(宽高)。 |
返回值
类型:
UIImage *说明:返回当前帧缩略图。
cancelGenerate:
描述
取消正在进行的缩略图或帧的生成任务。
接口
-(void)cancelGenerate:(id)generator;参数
参数名 | 类型 | 说明 |
generator | id | 由 getClipThumbnail... 或 getThumbnail... 系列异步方法返回的 Generator 对象。 |
返回值
类型:
void说明:无返回值。
ITAVDraftManager
API | 描述 |
设置草稿存储的路径。如果不设置,则使用 SDK 内置的默认路径。 | |
获取当前存储目录下的所有草稿列表 (NSArray<TAVDraft *> *)。 | |
生成草稿到预设目录,同时将草稿中使用的所有资源缓存到草稿目录,并与草稿一起删除。 | |
生成草稿到预设目录,但不缓存草稿使用的资源,资源管理由用户负责。 | |
获取编辑器当前加载的草稿对象。 | |
加载指定的草稿对象 (draft),并在加载完成后执行回调 。 | |
删除指定的草稿对象。 | |
删除所有草稿。 | |
重置/开始记录编辑器的操作历史,用于新的撤销/重做链。 | |
提交一次操作作为历史记录点,标记为草稿。返回提交是否成功。 | |
返回当前编辑器状态是否可撤销 (BOOL)。 | |
返回当前编辑器状态是否可重做 (BOOL)。 | |
撤销/回退到上一个操作状态,并在完成后执行回调。 | |
重做/前进到下一个操作状态,并在完成后执行回调。 | |
添加草稿监听状态的监听者 (id<ITAVDraftStateListener>)。 | |
删除草稿监听状态的监听者。 |
setDraftStorageDir:
描述
设置草稿的存储路径。如果不设置,SDK 将使用内置的默认路径。
接口
+(void)setDraftStorageDir:(NSString *)storageDir;参数
参数名 | 类型 | 说明 |
storageDir | NSString * | 草稿文件的存储路径。 |
返回值
类型:
void说明:无返回值。
readDraftList
描述
获取本地已存储的草稿列表。
接口
+(NSArray<TAVDraft *> *)readDraftList;参数
无
返回值
类型:
NSArray<TAVDraft *> *说明:返回包含所有草稿对象(
TAVDraft)的数组。generateDraft
描述
将当前编辑状态生成为草稿并存储到预设定目录。草稿中使用的所有资源(如视频、图片、BGM、贴纸等)会被缓存到草稿目录,并在草稿删除时一起清除。
接口
-(BOOL)generateDraft;参数
无
返回值
类型:
BOOL说明:返回 YES 表示生成草稿成功,NO 表示失败。
generateDraftNoCacheResources
描述
将当前编辑状态生成为草稿并存储到预设定目录,但不缓存草稿使用的资源文件,资源需要用户自行管理。
接口
-(BOOL)generateDraftNoCacheResources;参数
无
返回值
类型:
BOOL说明:返回 YES 表示生成草稿成功,NO 表示失败。
getCurrentDraft
描述
获取当前已加载到编辑器中的草稿对象。
接口
-(TAVDraft *)getCurrentDraft;参数
无
返回值
类型:
TAVDraft *说明:返回当前编辑器中的草稿对象。
loadDraft:onDraftLoadingFinished:
描述
加载指定的草稿对象到编辑器中。
接口
-(void)loadDraft:(TAVDraft *)draft onDraftLoadingFinished:(TAVDraftLoadingCallBack)callback;参数
参数名 | 类型 | 说明 |
draft | TAVDraft * | 要加载的草稿对象。 |
callback | TAVDraftLoadingCallBack | 草稿加载完成后的回调函数。 |
返回值
类型:
void说明:无返回值。
deleteDraft:
描述
删除指定的草稿文件。
接口
+(void)deleteDraft:(TAVDraft *)draft;参数
参数名 | 类型 | 说明 |
draft | TAVDraft * | 要删除的草稿对象。 |
返回值
类型:
void说明:无返回值。
deleteAllDrafts
描述
删除本地存储的所有草稿文件。
接口
+(void)deleteAllDrafts;参数
无
返回值
类型:
void说明:无返回值。
resetDraftRecord
描述
重置或开始记录新的草稿历史,清除当前的撤销/重做历史记录。
接口
-(void)resetDraftRecord;参数
无
返回值
类型:
void说明:无返回值。
commit:
描述
提交一次草稿历史记录,用户操作后应调用此方法以记录可撤销的状态。
接口
-(BOOL)commit:(NSString *)tag;参数
参数名 | 类型 | 说明 |
tag | NSString * | 用于标记此次提交的标签值。 |
返回值
类型:
BOOL说明:返回 YES 表示提交成功,NO 表示失败。
canUndo
描述
检查当前编辑状态是否可以执行撤销(Undo)操作。
接口
-(BOOL)canUndo;参数
无
返回值
类型:
BOOL说明:返回 YES 表示可撤销,NO 表示不可撤销。
canRedo
描述
检查当前编辑状态是否可以执行重做(Redo)操作。
接口
-(BOOL)canRedo;参数
无
返回值
类型:
BOOL说明:返回 YES 表示可重做,NO 表示不可重做。
undo:
描述
执行撤销/回退到上一个状态的操作。
接口
-(void)undo:(TAVDraftActionCallBack)callback;参数
参数名 | 类型 | 说明 |
callback | TAVDraftActionCallBack | 撤销操作完成后的回调函数。 |
返回值
类型:
void说明:无返回值。
redo:
描述
执行重做/前进到下一个状态的操作。
接口
-(void)redo:(TAVDraftActionCallBack)callback;参数
参数名 | 类型 | 说明 |
callback | TAVDraftActionCallBack | 重做操作完成后的回调函数。 |
返回值
类型:
void说明:无返回值。
addDraftStateListener:
描述
添加草稿状态监听者,用于监听草稿相关的状态变化(如撤销/重做状态)。
接口
-(void)addDraftStateListener:(id<ITAVDraftStateListener>)listener;参数
参数名 | 类型 | 说明 |
listener | id<ITAVDraftStateListener> | 遵循 ITAVDraftStateListener 协议的监听者。 |
返回值
类型:
void说明:无返回值。
removeDraftStateListener:
描述
删除已添加的草稿状态监听者。
接口
-(void)removeDraftStateListener:(id<ITAVDraftStateListener>)listener;参数
参数名 | 类型 | 说明 |
listener | id<ITAVDraftStateListener> | 要删除的监听者。 |
返回值
类型:
void说明:无返回值。
TAVLogListener
API | 描述 |
日志监听回调。 |
onLog:logMessage:
描述
日志监听回调 Block。当 SDK 内部产生日志时,会通过此方法回调给监听者。
接口
-(void)onLog:(TAVLogLevel)loggerLevel logMessage:(NSString * _Nonnull)logMessage;参数
参数名 | 类型 | 说明 |
loggerLevel | TAVLogLevel | 返回当前日志等级。 |
logMessage | NSString * _Nonnull | 返回当前日志信息。 |
返回值
类型:
void说明:无返回值。
TAVEditorPlayerObserver
API | 描述 |
当播放器绑定的媒体资源 (AVPlayerItem) 发生变化时调用。 | |
当播放进度发生变化时调用,参数为当前播放时间 (CMTime)。 | |
当播放器的播放速度 (speed) 发生变化时调用。 | |
当播放器播放到末尾时调用(播放完成)。 | |
当视频的渲染区域或矩形 (videoRect) 发生变化时调用。 |
mediaPlayerItemDidChange:
描述
媒体播放器的播放项(
AVPlayerItem)发生变化时调用的回调方法。接口
-(void)mediaPlayerItemDidChange:(AVPlayerItem *)playerItem;参数
参数名 | 类型 | 说明 |
playerItem | AVPlayerItem * | 新的媒体播放器播放项对象。 |
返回值
类型:
void说明:无返回值。
mediaPlayerProgressDidChange:
描述
媒体播放器的当前播放进度(时间)发生变化时调用的回调方法。
接口
-(void)mediaPlayerProgressDidChange:(CMTime)currentTime;参数
参数名 | 类型 | 说明 |
currentTime | CMTime | 当前的播放时间点。 |
返回值
类型:
void说明:无返回值。
mediaPlayerStateDidChange:
描述
媒体播放器的播放状态(如播放、暂停、缓冲等)发生变化时调用的回调方法。
接口
-(void)mediaPlayerStateDidChange:(TAVPlaybackState)state;参数
参数名 | 类型 | 说明 |
state | 媒体播放器的新状态。 |
返回值
类型:
void说明:无返回值。
mediaPlayerSpeedDidChange:
描述
媒体播放器的播放速度发生变化时调用的回调方法。
接口
-(void)mediaPlayerSpeedDidChange:(CGFloat)speed;参数
参数名 | 类型 | 说明 |
speed | CGFloat | 媒体播放器的新播放速度。 |
返回值
类型:
void说明:无返回值。
mediaPlayerDidPlayToEnd
描述
媒体播放器完成播放,到达播放终点时调用的回调方法。
接口
-(void)mediaPlayerDidPlayToEnd;参数
无
返回值
类型:
void说明:无返回值。
mediaPlayerVideoRectDidChange:
描述
媒体播放器中视频内容的渲染矩形(
videoRect)发生变化时调用的回调方法。接口
-(void)mediaPlayerVideoRectDidChange:(CGRect)videoRect;参数
参数名 | 类型 | 说明 |
videoRect | CGRect | 视频内容的新渲染矩形。 |
返回值
类型:
void说明:无返回值。
TAVPipContextObserver
API | 描述 |
显示画中画视图 (pipView) 时调用。这通常发生在画中画对象被激活并准备好在屏幕上进行交互时。 | |
隐藏画中画视图 (pipView) 时调用。这通常发生在画中画对象被注销或暂时不可见时。 | |
移除画中画视图 (pipView) 时调用。这通常发生在画中画对象被彻底从编辑器中删除时。 | |
取消激活画中画视图 (pipView) 时调用。表示该视图不再是当前用户的主要操作对象。 | |
激活画中画视图 (pipView) 时调用。表示该视图已成为当前用户的主要操作对象。 |
didShowPipView:
描述
当画中画视图(
TAVPipView)被显示时调用的回调方法。接口
-(void)didShowPipView:(TAVPipView *)pipView;参数
参数名 | 类型 | 说明 |
pipView | TAVPipView * | 当前被显示的画中画视图对象。 |
返回值
类型:
void说明:无返回值。
didHidePipView:
描述
当画中画视图(
TAVPipView)被隐藏时调用的回调方法。接口
-(void)didHidePipView:(TAVPipView *)pipView;参数
参数名 | 类型 | 说明 |
pipView | TAVPipView * | 当前被隐藏的画中画视图对象。 |
返回值
类型:
void说明:无返回值。
didRemovePipView:
描述
当画中画视图(
TAVPipView)从渲染层被移除时调用的回调方法。接口
-(void)didRemovePipView:(TAVPipView *)pipView;参数
参数名 | 类型 | 说明 |
pipView | TAVPipView * | 当前被移除的画中画视图对象。 |
返回值
类型:
void说明:无返回值。
didResignPipView:
描述
当画中画视图(
TAVPipView)解除激活状态(退出编辑焦点)时调用的回调方法。接口
-(void)didResignPipView:(TAVPipView *)pipView;参数
参数名 | 类型 | 说明 |
pipView | TAVPipView * | 当前被注销的画中画视图对象。 |
返回值
类型:
void说明:无返回值。
didActivePipView:
描述
当画中画视图(
TAVPipView)被激活(进入编辑焦点)时调用的回调方法。接口
-(void)didActivePipView:(TAVPipView *)pipView;参数
参数名 | 类型 | 说明 |
pipView | TAVPipView * | 当前被激活的画中画视图对象。 |
返回值
类型:
void说明:无返回值。
TAVStickerContextObserver
API | 描述 |
当贴纸列表(如添加、删除贴纸后)发生变化时通知代理。 | |
当前活跃的贴纸对象发生变化时通知代理。 | |
通知代理需要刷新视频帧(例如,贴纸位置、缩放等发生变化,需要重绘)。 | |
当指定的贴纸视图 (stickerView) 被激活时通知代理(通常意味着用户开始编辑该贴纸)。 | |
当指定的贴纸视图 (stickerView) 被注销(resign)时通知代理。 | |
当指定的贴纸视图 (stickerView) 被移除时通知代理。 | |
当指定的贴纸视图 (stickerView) 被显示时通知代理。 | |
当指定的贴纸视图 (stickerView) 被隐藏时通知代理。 |
stickerContextStickerListDidChange:
描述
通知代理贴纸列表(时间线上的贴纸集合)已发生变化(例如添加或删除了贴纸)。
接口
-(void)stickerContextStickerListDidChange:(TAVStickerContext *)context;参数
参数名 | 类型 | 说明 |
context | TAVStickerContext * | 告知此事件的贴纸上下文对象。 |
返回值
类型:
void说明:无返回值。
stickerContextCurrentStickerDidChange:
描述
通知代理当前被激活或处于焦点的贴纸已发生变化。
接口
-(void)stickerContextCurrentStickerDidChange:(TAVStickerContext *)context;参数
参数名 | 类型 | 说明 |
context | TAVStickerContext * | 告知此事件的贴纸上下文对象。 |
返回值
类型:
void说明:无返回值。
stickerContextShouldRefreshVideoFrame:
描述
通知代理视频帧应被刷新或重绘,通常在贴纸内容发生变化需要立即更新预览时调用。
接口
-(void)stickerContextShouldRefreshVideoFrame:(TAVStickerContext *)context;参数
参数名 | 类型 | 说明 |
context | TAVStickerContext * | 告知此事件的贴纸上下文对象。 |
返回值
类型:
void说明:无返回值。
stickerContext:didActiveSticker:
描述
通知代理指定的贴纸视图已被激活(进入编辑状态)。
接口
-(void)stickerContext:(TAVStickerContext *)context didActiveSticker:(TAVStickerView *)stickerView;参数
参数名 | 类型 | 说明 |
context | TAVStickerContext * | 告知此事件的贴纸上下文对象。 |
stickerView | TAVStickerView * | 被激活的贴纸视图。 |
返回值
类型:
void说明:无返回值。
stickerContext:didResignSticker:
描述
通知代理指定的贴纸视图已解除激活状态(退出编辑状态)。
接口
-(void)stickerContext:(TAVStickerContext *)context didResignSticker:(TAVStickerView *)stickerView;参数
参数名 | 类型 | 说明 |
context | TAVStickerContext * | 告知此事件的贴纸上下文对象。 |
stickerView | TAVStickerView * | 被注销的贴纸视图。 |
返回值
类型:
void说明:无返回值。
stickerContext:didRemoveSticker:
描述
通知代理指定的贴纸视图已被移除(从渲染层中移除)。
接口
-(void)stickerContext:(TAVStickerContext *)context didRemoveSticker:(TAVStickerView *)stickerView;参数
参数名 | 类型 | 说明 |
context | TAVStickerContext * | 告知此事件的贴纸上下文对象。 |
stickerView | TAVStickerView * | 被移除的贴纸视图。 |
返回值
类型:
void说明:无返回值。
stickerContext:didShowSticker:
描述
通知代理指定的贴纸视图已被显示。
接口
-(void)stickerContext:(TAVStickerContext *)context didShowSticker:(TAVStickerView *)stickerView;参数
参数名 | 类型 | 说明 |
context | TAVStickerContext * | 告知此事件的贴纸上下文对象。 |
stickerView | TAVStickerView * | 被显示的贴纸视图。 |
返回值
类型:
void说明:无返回值。
stickerContext:didHideSticker:
描述
通知代理指定的贴纸视图已被隐藏。
接口
-(void)stickerContext:(TAVStickerContext *)context didHideSticker:(TAVStickerView *)stickerView;参数
参数名 | 类型 | 说明 |
context | TAVStickerContext * | 告知此事件的贴纸上下文对象。 |
stickerView | TAVStickerView * | 被隐藏的贴纸视图。 |
返回值
类型:
void说明:无返回值。
枚举类型说明
TAVPlayerFillMode
描述
媒体播放器的视频填充模式,用于决定视频内容如何适应其播放视图的边界。
类型
typedef NS_ENUM(NSUInteger, TAVPlayerFillMode);枚举值 | 原始值 | 说明 |
TAVPlayerFillModeAspectFit | 0 | 自适应填充:保持视频内容的宽高比,将整个视频内容放入视图边界内。视频内容可能不会填满整个视图,视图中可能出现黑边(类似 AVLayerVideoGravityResizeAspect)。 |
TAVPlayerFillModeAspectFill | 1 | 满屏填充:保持视频内容的宽高比,填满整个视图边界。视频内容可能会被裁切,确保视图中没有黑边(类似 AVLayerVideoGravityResizeAspectFill)。 |
TAVPlayerFillModeFill | 2 | 拉伸填充:不保持视频内容的宽高比,直接拉伸或缩放以填满整个视图边界。视频内容可能会失真(类似 AVLayerVideoGravityResize)。 |
TAVVideoCompressed
描述
视频导出的压缩分辨率模式,用于在导出时指定视频的最大分辨率。
类型
typedef NS_ENUM(NSInteger, TAVVideoCompressed);枚举值 | 原始值 | 说明 |
TAVVideoCompressed480P | 0 | 480P 分辨率:视频将被压缩至 640 × 480 的分辨率(长边最大为 640)。 |
TAVVideoCompressed540P | 1 | 540P 分辨率:视频将被压缩至 960 × 540 的分辨率(长边最大为 960)。 |
TAVVideoCompressed720P | 2 | 720P 分辨率 |
TAVVideoCompressed1080P | 3 | 1080P 分辨率:视频将被压缩至 1920 × 1080 的分辨率(长边最大为 1920)。 |
TAVEditorMediaType
描述
编辑器中媒体资源的类型。这是一个位掩码(Bitmask)枚举,允许一个资源同时具有多种类型(例如,既是视频也包含音频)。
类型
typedef NS_ENUM(NSInteger, TAVEditorMediaType);枚举值 | 原始值 | 说明 |
TAVEditorMediaTypeUnknown | 0 | 未知类型。 |
TAVEditorMediaTypeVideo | 1 << 0 (即 1) | 视频类型:代表资源包含视频轨道。 |
TAVEditorMediaTypeAudio | 1 << 1 (即 2) | 音频类型:代表资源包含音频轨道。 |
TAVEditorMediaTypeImage | 1 << 2 (即 4) | 照片类型:代表资源是静态图片。 |
TAVPlaybackState
描述
媒体播放器的播放状态枚举,用于表示播放器的当前生命周期或活动状态。
类型
typedef NS_ENUM(NSInteger, TAVPlaybackState);枚举值 | 原始值 | 说明 |
TAVPlaybackStateInit | 0 | 初始化:播放器对象刚被创建,处于初始状态。 |
TAVPlaybackStatePreparing | 1 | 加载准备中:播放器正在加载资源,进行播放前的准备工作。 |
TAVPlaybackStateReady | 2 | 已就绪:播放器已准备好播放或暂停,可以响应控制命令。 |
TAVPlaybackStateLoading | 3 | 缓冲加载中:播放过程中,由于网络或其他原因需要缓冲数据。 |
TAVPlaybackStatePlaying | 4 | 播放中:播放器正在正常播放媒体内容。 |
TAVPlaybackStatePaused | 5 | 暂停:播放器已暂停,可通过恢复命令继续播放。 |
TAVPlaybackStateFinished | 6 | 播放结束:媒体内容已播放完毕。 |
TAVPlaybackStateStopped | 7 | 播放停止:播放器被显式停止,通常需要重新加载才能播放。 |
TAVPlaybackStateDestoryed | 8 | 播放器已销毁:播放器对象已被释放或销毁。 |
TAVPlaybackStateFailed | 9 | 播放失败:播放过程中发生错误,导致无法正常播放。 |