iOS

最近更新时间:2026-01-13 17:29:52

我的收藏

TAVEditor

SDK 配置方法

API
描述
设置监听日志。
getSdkVersion
获取 SDK 当前版本号。

实例相关方法

API
描述
初始化实例方法。
初始化类方法。
deinit
释放实例。
fork
复制一份新实例。

资源设置相关方法

API
描述
向末尾添加视频资源,返回成功添加后的索引。
在指定位置添加视频资源数组。
向末尾添加图片资源,duration 传 kCMTimeZero 为默认 3 秒。
在指定位置添加图片资源数组,durations 中传 @(0) 为默认 3 秒。
获取当前正在编辑的资源数量。
获取当前使用的资源信息列表。
移除指定位置的视频或者图片资源。
删除所有资源 (视频/图片/模板) 片段。
clearAll
清空所有资源 (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)。
设置是否循环播放。
获取当前是否设置为循环播放。
play
开始播放。
从指定时间 (CMTime) 开始播放。
pause
暂停播放。
stop
停止播放。
refresh
刷新预览播放器。
seek 到指定时间 (CMTime) 播放。
seek 到指定时间播放,并在 seek 完成后执行回调。
释放播放器。
获取预览总时长(添加资源后需要调用 flushImmediately 后才能准确获取)。
duration
主轨道总时长(添加资源后可即时获取时长)。
isPlaying
返回当前播放器是否正在播放中。
获取当前播放的时间 (NSTimeInterval)。
获取当前播放的时间 (CMTime)。
设置预览视频的填充模式 (TAVPlayerFillMode)。
获取当前播放器的填充模式。
注册播放状态监听者 (id<TAVEditorPlayerObserver>)。
注销播放状态监听者。
设置当前的渲染尺寸 (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 码率);提供导出进度和完成回调。
生成并导出视频。通过指定预设的导出分辨率 (TAVVideoCompressed);提供导出进度和完成回调。
快速生成并导出视频。使用完整的导出配置 (TAVEditorGenerateConfig);提供导出进度和完成回调。
快速生成并导出视频。通过指定预设的导出分辨率 (TAVVideoCompressed);提供导出进度和完成回调。
取消当前的视频生成任务,并在取消完成后执行回调。
暂停当前的视频导出过程。
继续被暂停的视频导出过程。

模板相关设置方法

API
描述
获取指定路径 (templatePath) 视频模板的坑位信息 (TAVTemplateConfig)。
应用指定路径 (templatePath) 的视频模板。返回 TAVTemplateCode,其中 0 表示成功,-1 表示路径无效,-2 表示无权限。

其他数据操作类获取方法

API
描述
getPipManager
获取画中画操作类 id<ITAVPipManager>
getStickerManager
获取贴纸操作类 id<ITAVStickerManager>
getVideoFrameManager
获取抽帧操作类 id<ITAVFrameProvider>
getDraftManager
获取草稿操作类 id<ITAVDraftManager>

setLogLevel:listener:

描述
设置 SDK 的日志级别和日志监听器。
接口
+(void)setLogLevel:(TAVLogLevel)logLevel listener:(id<TAVLogListener>)listener
参数
参数名
类型
说明
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 *
通过 preparePlayerItem 方法生成的播放器项目。
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>
遵循 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 为图片。
loadPip:
添加画中画到编辑器轨道。
删除指定的画中画对象。
删除当前处于活跃状态的画中画对象。
删除所有画中画对象。
获取当前所有的画中画对象列表。
注册画中画上下文状态的监听者 (id<TAVPipContextObserver>)。
注销画中画上下文状态的监听者。
获取当前处于活跃状态的画中画对象。
激活指定的画中画对象,使其成为当前操作对象。
取消激活指定的画中画对象。
取消激活当前处于活跃状态的画中画对象。
通过画中画对象 (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>
遵循 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 获取对应的贴纸视图。
注册贴纸上下文状态的观察者 (id<TAVStickerContextObserver>)。
删除贴纸上下文状态的观察者。
激活贴纸:隐藏渲染层的贴纸,显示 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>
遵循 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),并在加载完成后执行回调 。
删除指定的草稿对象。
删除所有草稿。
重置/开始记录编辑器的操作历史,用于新的撤销/重做链。
commit:
提交一次操作作为历史记录点,标记为草稿。返回提交是否成功。
canUndo
返回当前编辑器状态是否可撤销 (BOOL)。
canRedo
返回当前编辑器状态是否可重做 (BOOL)。
undo:
撤销/回退到上一个操作状态,并在完成后执行回调。
redo:
重做/前进到下一个操作状态,并在完成后执行回调。
添加草稿监听状态的监听者 (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)。
当播放器的播放状态 (TAVPlaybackState,如播放、暂停、停止等) 发生变化时调用。
当播放器的播放速度 (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
播放失败:播放过程中发生错误,导致无法正常播放。