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°)。 | |
设置所有资源的形变。 | |
设置指定资源的形变。 | |
设置所有资源的大小。 | |
设置指定资源的大小。 | |
设置指定资源的裁剪信息。 |
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 |
参数名 | 类型 | 说明 |
logLevel | TAVLogLevel | 要设置的日志级别。 |
listener | 日志监听器,用于接收 SDK 输出的日志。如果传入 nil,则会移除当前的监听器。 |
void-(instancetype)initWithRenderSize:(CGSize)renderSize assetsPath:(NSString *)assetsPath;参数名 | 类型 | 说明 |
renderSize | CGSize | 画面渲染尺寸,根据宽高比缩放。传 CGSizeZero 则自动适应渲染尺寸。 |
assetsPath | NSString * | 模型资源路径。 |
instancetype / (TAVEditor *)+(instancetype)editorWithRenderSize:(CGSize)renderSize assetsPath:(NSString *)assetsPath;参数名 | 类型 | 说明 |
renderSize | CGSize | 画面渲染尺寸,根据宽高比缩放。传 CGSizeZero 则自动适应渲染尺寸。 |
assetsPath | NSString * | 模型资源路径。 |
instancetype-(instancetype)fork;instancetype-(int)addVideoClip:(NSString *)path;参数名 | 类型 | 说明 |
path | NSString * | 视频素材的本地路径。 |
int-(int)addVideoClips:(NSArray *)paths index:(int)index;参数名 | 类型 | 说明 |
paths | NSArray * | 视频资源路径的数组。 |
index | int | 要插入资源的位置(下标)。 |
int-(int)addImageClip:(NSString *)path duration:(CMTime)duration;参数名 | 类型 | 说明 |
path | NSString * | 图片资源的本地路径。 |
duration | CMTime | 图片素材在时间线上的展示时长。如果传入 kCMTimeZero,则使用默认时长(通常为 3 秒)。 |
int-(int)addImageClips:(NSArray<NSString *> *)paths index:(int)index durations:(NSArray<NSNumber *> *)durations;参数名 | 类型 | 说明 |
paths | NSArray<NSString *> * | 图片资源路径的数组。 |
index | int | 要插入资源的位置(下标)。 |
durations | NSArray<NSNumber *> * | 每个图片素材的展示时长数组,单位为秒。如果传入 @0,则使用默认时长(通常为 3 秒)。 |
int-(int)getClipCount;int-(NSArray<TAVClipInfo *> *)getClipInfos;NSArray<TAVClipInfo *> *-(void)removeClip:(int)index;参数名 | 类型 | 说明 |
index | int | 要移除的资源片段的索引(下标)。 |
void-(void)removeAllClip;void-(void)clearAll;void-(void)setClipRange:(CMTimeRange)timeRange index:(int)index;参数名 | 类型 | 说明 |
timeRange | CMTimeRange | 资源播放的新区间,定义了素材在时间线上的起始时间和持续时间。 |
index | int | 要修改的资源片段的索引(下标)。 |
void-(void)setClipSpeed:(CGFloat)speed index:(int)index;参数名 | 类型 | 说明 |
speed | CGFloat | 要设置的播放速率。有效范围为 (0, 3] 。 |
index | int | 要修改的资源片段的索引(下标)。 |
void-(BOOL)updateClipIndex:(int)oldIndex toIndex:(int)newIndex;参数名 | 类型 | 说明 |
oldIndex | int | 调整前的资源片段索引(下标)。 |
newIndex | int | 调整后的新位置索引(下标)。 |
BOOL-(void)flushImmediately;voidcompletion 块内执行播放器的获取时间/是否正在播放等操作。-(void)flushImmediatelyCompletion:(void (^)(BOOL finished))completion;参数名 | 类型 | 说明 |
completion | void (^)(BOOL finished) | 资源更新完成后执行的回调块。 finished 表示操作是否成功完成。 |
voidAVPlayerItem。-(AVPlayerItem *)preparePlayerItem;AVPlayerItem *AVPlayerItem 绑定到播放器,并还原播放状态。-(void)bindPlayerItem:(AVPlayerItem *)playerItem completion:(void (^)(BOOL finished))completion;参数名 | 类型 | 说明 |
playerItem | AVPlayerItem * | |
completion | void (^)(BOOL finished) | 绑定和状态还原完成后执行的回调块。 |
void-(void)setClipVolume:(float)volume index:(int)index;参数名 | 类型 | 说明 |
volume | float | 要设置的音量值,范围为 [0.0, 1.0]。 |
index | int | 要修改音量的资源片段的索引(下标)。 |
void-(void)setAllClipsVolume:(float)volume;参数名 | 类型 | 说明 |
volume | float | 要设置的音量值,范围为 [0.0, 1.0] 。 |
void-(float)getClipVolume:(int)index;参数名 | 类型 | 说明 |
index | int | 要查询音量的资源片段的索引(下标)。 |
float-(void)setReverse:(BOOL)isReverse;参数名 | 类型 | 说明 |
isReverse | BOOL | 设置为 YES 表示倒放,NO 表示正常播放。 |
void-(void)setClipsRotation:(int)rotation;参数名 | 类型 | 说明 |
rotation | int | 顺时针旋转角度,范围为 (0, 360] 度。 |
void-(void)setClipRotation:(int)rotation index:(int)index;参数名 | 类型 | 说明 |
rotation | int | 顺时针旋转角度,范围为 (0, 360]度。 |
index | int | 要修改旋转的资源片段的索引(下标)。 |
void-(void)setClipTransform:(CGAffineTransform)transform;参数名 | 类型 | 说明 |
transform | CGAffineTransform | 要应用的仿射变换矩阵。 |
void-(void)setClipTransform:(CGAffineTransform)transform index:(int)index;参数名 | 类型 | 说明 |
transform | CGAffineTransform | 要应用的仿射变换矩阵。 |
index | int | 要修改形变的资源片段的索引(下标)。 |
void-(void)setClipSize:(CGSize)size;参数名 | 类型 | 说明 |
size | CGSize | 要设置的显示尺寸。 |
void-(void)setClipSize:(CGSize)size index:(int)index;参数名 | 类型 | 说明 |
size | CGSize | 要设置的显示尺寸。 |
index | int | 要修改尺寸的资源片段的索引(下标)。 |
void-(void)setCropInfo:(TAVMediaAssetCropInfo *)cropInfo index:(int)index;参数名 | 类型 | 说明 |
cropInfo | TAVMediaAssetCropInfo * | 包含裁剪区域和模式的结构体信息。 |
index | int | 要设置裁剪信息的资源片段的索引(下标)。 |
void-(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-(BOOL)removeBgm:(int)bgmId;参数名 | 类型 | 说明 |
bgmId | int | 背景音乐添加时生成的唯一 ID。 |
BOOL-(void)removeAllBgm;void-(void)updateBgm:(int)bgmId atVideoTime:(CMTime)startAtVideoTime;参数名 | 类型 | 说明 |
bgmId | int | 要修改的背景音乐的唯一 ID。 |
startAtVideoTime | CMTime | BGM 在主时间轴中新的开始播放时间。 |
void-(void)updateBgm:(int)bgmId playRange:(CMTimeRange)timeRange;参数名 | 类型 | 说明 |
bgmId | int | 要修改的背景音乐的唯一 ID。 |
timeRange | CMTimeRange | 截取音乐素材的播放的新区间。 |
void-(void)setBgm:(int)bgmId volume:(float)volume;参数名 | 类型 | 说明 |
bgmId | int | 要修改音量的背景音乐的唯一 ID。 |
volume | float | 要设置的音量值,范围为 [0.0, 1.0]。 |
void-(void)setBgm:(int)bgmId extraInfo:(NSDictionary *)extraInfo;参数名 | 类型 | 说明 |
bgmId | int | 要设置额外信息的背景音乐的唯一 ID。 |
extraInfo | NSDictionary * | 自定义保存的额外信息字典。 |
void-(NSDictionary *)getBgmExtraInfo:(int)bgmId;参数名 | 类型 | 说明 |
bgmId | int | 要获取额外信息的背景音乐的唯一 ID。 |
NSDictionary *-(void)setAllBgmVolume:(float)volume;参数名 | 类型 | 说明 |
volume | float | 要设置的音量值,范围为 [0.0, 1.0]。 |
void-(float)getBgmVolume:(int)bgmId;参数名 | 类型 | 说明 |
bgmId | int | 要查询音量的背景音乐的唯一 ID。 |
float-(void)setBgm:(int)bgmId speed:(float)speed;参数名 | 类型 | 说明 |
bgmId | int | 要修改速度的背景音乐的唯一 ID。 |
speed | float | 播放速度。1.0 为正常速度,大于 1.0 为快放,小于 1.0 为慢放。 |
void-(float)getBgmSpeed:(int)bgmId;参数名 | 类型 | 说明 |
bgmId | int | 要查询速度的背景音乐的唯一 ID。 |
float-(NSArray<TAVBgmInfo *> *)getBgmInfos;NSArray<TAVBgmInfo *> *-(void)setPreview:(TAVPreviewParam *)param;参数名 | 类型 | 说明 |
param | TAVPreviewParam * | 包含父容器视图和渲染方式等参数的对象。 |
void-(void)setPlayLoop:(BOOL)isLoop;参数名 | 类型 | 说明 |
isLoop | BOOL | YES 表示设置循环播放,NO 表示单次播放。 |
void-(BOOL)isPlayLoop;BOOL-(void)play;void-(void)playAtTime:(CMTime)time;参数名 | 类型 | 说明 |
time | CMTime | 指定的开始播放时间。 |
void-(void)pause;void-(void)stop;void-(void)refresh;void-(void)seekToTime:(CMTime)seekTime;参数名 | 类型 | 说明 |
seekTime | CMTime | 指定的跳转时间。 |
void-(void)seekToTime:(CMTime)seekTime completion:(void (^)(BOOL finished))completion;参数名 | 类型 | 说明 |
seekTime | CMTime | 指定的跳转时间。 |
completion | void (^)(BOOL finished) | seek 完成时的回调块。 finished 表示操作是否成功完成。 |
void-(void)destoryPlayer;voidflushImmediately 才能准确获取最新时长。-(CMTime)getTotalDuration;CMTime-(NSTimeInterval)duration;NSTimeInterval-(BOOL)isPlaying;BOOL-(NSTimeInterval)currentTime;NSTimeIntervalCMTime 结构体形式)。-(CMTime)currentCMTime;CMTime-(void)setPlayerViewFillMode:(TAVPlayerFillMode)fillMode;参数名 | 类型 | 说明 |
fillMode | 要设置的预览填充模式枚举。 |
void-(TAVPlayerFillMode)playerViewFillMode;TAVPlayerFillMode-(void)registerPlayerObserver:(id<TAVEditorPlayerObserver>)observer;参数名 | 类型 | 说明 |
observer | id<TAVEditorPlayerObserver> |
void-(void)resignObserver:(id<TAVEditorPlayerObserver>)observer;参数名 | 类型 | 说明 |
observer | id<TAVEditorPlayerObserver> | 要注销的监听者对象。 |
void-(void)setRenderSize:(CGSize)renderSize;参数名 | 类型 | 说明 |
renderSize | CGSize | 要设置的渲染尺寸(宽高)。 |
void-(CGSize)getRenderSize;CGSizeAVAsset 对象,该对象包含了所有轨道资源信息。-(AVAsset *)currentAVAsset;AVAsset *AVAsset。AVVideoComposition 对象,该对象描述了视频轨道如何合成和渲染(包括滤镜、变换等)。-(AVVideoComposition *)currentComposition;AVVideoComposition *-(int)addFilter:(NSString *)lutPath strength:(float)strength timeRange:(CMTimeRange)timeRange;参数名 | 类型 | 说明 |
lutPath | NSString * | 滤镜素材文件的路径,通常为 LUT 文件路径。 |
strength | float | 滤镜的强度,通常范围为 [0.0, 1.0]。 |
timeRange | CMTimeRange | 滤镜效果在时间线上生效的区间。 |
int-(void)setFilter:(int)lutId Strength:(float)strength timeRange:(CMTimeRange)timeRange;参数名 | 类型 | 说明 |
lutId | int | 创建滤镜时生成的唯一 ID。 |
strength | float | 滤镜新的强度。 |
timeRange | CMTimeRange | 滤镜新的生效区间。 |
void-(void)removeFilter:(int)lutId;参数名 | 类型 | 说明 |
lutId | int | 要删除的滤镜的唯一 ID。 |
void-(void)removeAllFilter;void-(void)setFilter:(int)lutId trackIndex:(int)trackIndex;参数名 | 类型 | 说明 |
lutId | int | 滤镜的唯一 ID。 |
trackIndex | int | 滤镜所应用的轨道下标。 |
void-(NSArray<TAVFilterInfo *> *)getFilterInfos;NSArray<TAVFilterInfo *> *-(int)addMotionEffect:(NSString *)path timeRange:(CMTimeRange)timeRange;参数名 | 类型 | 说明 |
path | NSString * | 特效素材的文件路径。 |
timeRange | CMTimeRange | 特效效果在时间线上生效的对应时间区域。 |
int-(void)updateMotionEffect:(int)effectId playRange:(CMTimeRange)timeRange;参数名 | 类型 | 说明 |
effectId | int | 要更新的特效的唯一 ID。 |
timeRange | CMTimeRange | 特效新的展示区间。 |
void-(void)removeMotionEffect:(int)effectId;参数名 | 类型 | 说明 |
effectId | int | 要删除的特效的唯一 ID。 |
void-(void)removeAllMotionEffect;void-(void)setMotionEffect:(int)effectId trackIndex:(int)trackIndex;参数名 | 类型 | 说明 |
effectId | int | 特效的唯一 ID。 |
trackIndex | int | 特效所应用的轨道下标。 |
void-(NSArray<TAVEffectInfo *> *)getEffectInfos;NSArray<TAVEffectInfo *> *-(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 是最终成功导出的文件路径。 |
voiderror 错误码。200001:导出时进入后台;200002:导出文件从临时目录移动失败,其他为系统错误码。-(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) | 导出完成回调块。 |
voiderror 错误码。200001:导出时进入后台;200002:导出文件从临时目录移动失败,其他为系统错误码。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) | 导出完成回调块。 |
voiderror 错误码。200001:导出时进入后台;200002:导出文件从临时目录移动失败,其他为系统错误码。-(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) | 导出完成回调块。 |
voiderror 错误码。200001:导出时进入后台;200002:导出文件从临时目录移动失败,其他为系统错误码。-(void)cancelGenerate:(void(^ __nullable)(void))completion;参数名 | 类型 | 说明 |
completion | void (^ __nullable)(void) | 取消操作完成后执行的回调块。 |
void-(void)pauseGenerate;void-(void)resumeGenerate;void-(TAVTemplateConfig * _Nullable)getTemplateConfig:(NSString * _Nullable)templatePath;参数名 | 类型 | 说明 |
templatePath | NSString * _Nullable | 视频模板素材的文件路径。 |
TAVTemplateConfig * _Nullablenil。-(TAVTemplateCode)setTemplate:(NSString * _Nullable)templatePath;参数名 | 类型 | 说明 |
templatePath | NSString * _Nullable | 视频模板素材的文件路径。 |
TAVTemplateCodeAPI | 描述 |
设置画中画视图的数据源 (id<ITAVPipViewDataSource>)。 | |
创建画中画对象 (TAVMediaPipItem)。指定资源路径 (filePath) 和媒体类型 (mediaType),其中 0 为视频,1 为图片。 | |
添加画中画到编辑器轨道。 | |
删除指定的画中画对象。 | |
删除当前处于活跃状态的画中画对象。 | |
删除所有画中画对象。 | |
获取当前所有的画中画对象列表。 | |
注销画中画上下文状态的监听者。 | |
获取当前处于活跃状态的画中画对象。 | |
激活指定的画中画对象,使其成为当前操作对象。 | |
取消激活指定的画中画对象。 | |
取消激活当前处于活跃状态的画中画对象。 | |
通过画中画对象 (pipItem) 查找对应的画中画视图 (TAVPipView)。 |
-(void)setPipViewDataSource:(id<ITAVPipViewDataSource>)dataSource;参数名 | 类型 | 说明 |
dataSource | id<ITAVPipViewDataSource> | 遵循 ITAVPipViewDataSource 协议的对象,用于提供画中画视图所需的数据和逻辑。 |
void-(TAVMediaPipItem *)createPipItem:(NSString *)filePath mediaType:(NSInteger)mediaType;参数名 | 类型 | 说明 |
filePath | NSString * | 画中画素材的文件路径。 |
mediaType | NSInteger | 资源类型,0 表示视频,1 表示图片。 |
TAVMediaPipItem *-(void)loadPip:(TAVMediaPipItem *)pipItem;参数名 | 类型 | 说明 |
pipItem | TAVMediaPipItem * | 要加载到时间线上的画中画对象。 |
void-(void)removePip:(TAVMediaPipItem *)pipItem;参数名 | 类型 | 说明 |
pipItem | TAVMediaPipItem * | 要删除的画中画对象。 |
void-(void)removeCurrentPip;void-(void)removeAllPip;void-(NSArray<TAVMediaPipItem *> *)getAllPipItems;NSArray<TAVMediaPipItem *> *-(void)addPipObserver:(id<TAVPipContextObserver>)observer;参数名 | 类型 | 说明 |
observer | id<TAVPipContextObserver> |
void-(void)removePipObserver:(id<TAVPipContextObserver>)observer;参数名 | 类型 | 说明 |
observer | id<TAVPipContextObserver> | 要注销的监听者对象。 |
void-(TAVMediaPipItem *)getCurrentPipItem;TAVMediaPipItem *-(void)activePip:(TAVMediaPipItem *)pipItem;参数名 | 类型 | 说明 |
pipItem | TAVMediaPipItem * | 要激活的画中画对象。 |
void-(void)resignPip:(TAVMediaPipItem *)pipItem;参数名 | 类型 | 说明 |
pipItem | TAVMediaPipItem * | 要解除激活状态的画中画对象。 |
void-(void)resignCurrentPip;void-(TAVPipView *)fetchPipView:(TAVMediaPipItem *)pipItem;参数名 | 类型 | 说明 |
pipItem | TAVMediaPipItem * | 用于查找其对应视图的画中画对象。 |
TAVPipView *pipItem 关联的画中画视图。API | 描述 |
设置贴纸视图的数据源 (id<ITAVStickerViewDataSource>),要求实现返回贴纸视图的方法。 | |
创建贴纸对象 (TAVMediaStickerItem)。指定贴纸路径 (stickerPath) 和贴纸类型 (stickerItemType)。 | |
加载并添加贴纸对象到编辑器轨道。 | |
删除指定的贴纸对象。 | |
删除所有贴纸对象。 | |
删除当前处于活跃状态的贴纸。 | |
获取当前处于活跃状态的贴纸对象 (TAVMediaStickerItem)。 | |
获取所有贴纸对象列表。 | |
根据 TAVSticker 查找对应的贴纸对象 (TAVMediaStickerItem)。 | |
获取当前处于活跃状态的贴纸的渲染层对象 (TAVSticker)。 | |
获取当前处于活跃状态的贴纸视图 (TAVStickerView)。 | |
通过 TAVSticker 获取对应的贴纸视图。 | |
通过 TAVMediaStickerItem 获取对应的贴纸视图。 | |
删除贴纸上下文状态的观察者。 | |
激活贴纸:隐藏渲染层的贴纸,显示 stickerContentView 上对应的交互视图。 | |
注销贴纸:显示渲染层的贴纸,隐藏 stickerContentView 上对应的交互视图。 | |
注销当前处于活跃状态的贴纸。 | |
注销所有处于活跃状态的贴纸。 | |
获取当前的视频显示矩形区域 (CGRect)。 |
stickerViewWithStickerItem 方法,以返回自定义的贴纸视图。-(void)setStickerViewDataSource:(id<ITAVStickerViewDataSource>)dataSource;参数名 | 类型 | 说明 |
dataSource | id<ITAVStickerViewDataSource> | 贴纸视图的数据源对象。 |
voidTAVMediaStickerItem)。-(TAVMediaStickerItem *)createStickerItem:(NSString *)stickerPath stickerType:(TAVStickerItemType)stickerItemType;参数名 | 类型 | 说明 |
stickerPath | NSString * | 贴纸素材的路径。 |
stickerItemType | TAVStickerItemType | 贴纸资源的类型。 |
TAVMediaStickerItem *-(void)loadStickerItem:(TAVMediaStickerItem *)stickerItem;参数名 | 类型 | 说明 |
stickerItem | TAVMediaStickerItem * | 要加载的贴纸对象。 |
void-(void)removeStickerItem:(TAVMediaStickerItem *)stickerItem;参数名 | 类型 | 说明 |
stickerItem | TAVMediaStickerItem * | 要删除的贴纸对象。 |
void-(void)removeAllStickerItem;void-(void)removeCurrentSticker;voidTAVMediaStickerItem)。-(TAVMediaStickerItem *)getCurrentStickerItem;TAVMediaStickerItem *TAVMediaStickerItem)的列表。-(NSArray <TAVMediaStickerItem *>*)getAllStickerItems;NSArray <TAVMediaStickerItem *>*TAVSticker),查找并返回对应的贴纸对象(TAVMediaStickerItem)。-(TAVMediaStickerItem *)getStickerItemWithSticker:(TAVSticker *)sticker;参数名 | 类型 | 说明 |
sticker | TAVSticker * | 贴纸渲染层对象。 |
TAVMediaStickerItem *TAVSticker)。-(TAVSticker *)getCurrentSticker;TAVSticker *TAVStickerView)。-(TAVStickerView *)getCurrentStickerView;TAVStickerView *TAVSticker)查找并返回对应的贴纸视图。-(TAVStickerView *)fetchStickerView:(TAVSticker *)sticker;参数名 | 类型 | 说明 |
sticker | TAVSticker * | 贴纸渲染层对象。 |
TAVStickerView *sticker 关联的贴纸视图。TAVMediaStickerItem)查找并返回对应的贴纸视图。-(TAVStickerView *)fetchStickerVIewWithItem:(TAVMediaStickerItem *)stickerItem;参数名 | 类型 | 说明 |
stickerItem | TAVMediaStickerItem * | 贴纸对象。 |
TAVStickerView *stickerItem 关联的贴纸视图。-(void)addStickerObserver:(id<TAVStickerContextObserver>)observer;参数名 | 类型 | 说明 |
observer | id<TAVStickerContextObserver> |
void-(void)removeStickerObserver:(id<TAVStickerContextObserver>)observer;参数名 | 类型 | 说明 |
observer | id<TAVStickerContextObserver> | 要删除的观察者对象。 |
void-(void)activeStickerItem:(TAVMediaStickerItem *)stickerItem;参数名 | 类型 | 说明 |
stickerItem | TAVMediaStickerItem * | 要激活的贴纸对象。 |
void-(void)resignStickerItem:(TAVMediaStickerItem *)stickerItem;参数名 | 类型 | 说明 |
stickerItem | TAVMediaStickerItem * | 要注销的贴纸对象。 |
void-(void)resignCurrentStickerItem;void-(void)resignAllStickerItems;void-(CGRect)currentVideoRect;CGRectAPI | 描述 |
异步:根据主轨道资源下标 (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),同步获取并返回当前帧缩略图。 | |
取消指定的生成操作,如取消缩略图或帧的生成任务。 |
-(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) | 回调,返回对应缩略图数组。 |
idcancelGenerate: 取消生成。-(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) | 回调,返回对应的缩略图。 |
idcancelGenerate: 取消生成。-(UIImage *)getClipThumbnail:(int)clipIndex pts:(CMTime)pts size:(CGSize)size;参数名 | 类型 | 说明 |
clipIndex | int | 资源文件在主轨道中的索引。 |
pts | CMTime | 资源文件中的时间点。 |
size | CGSize | 缩略图的尺寸(宽高)。 |
UIImage *-(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) | 回调,返回对应的渲染帧图片。 |
idcancelGenerate: 取消生成。-(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) | 回调,返回时间点和对应渲染帧图片的字典。 |
idcancelGenerate: 取消生成。-(UIImage *)getClipFrameAtTime:(CMTime)pts exportMode:(BOOL)isExportMode longSide:(CGFloat)length;参数名 | 类型 | 说明 |
pts | CMTime | 时间点。 |
isExportMode | BOOL | 是否为导出模式。 |
length | CGFloat | 结果图像最长边的长度,SDK 会等比计算短边。 |
UIImage *-(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 *> *-(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) | 回调,返回对应缩略图数组及错误信息。 |
idcancelGenerate: 取消生成。-(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) | 回调,返回对应的缩略图及错误信息。 |
idcancelGenerate: 取消生成。-(UIImage *)getThumbnail:(NSString *)videoPath pts:(CMTime)pts size:(CGSize)size;参数名 | 类型 | 说明 |
videoPath | NSString * | 视频资源的路径。 |
pts | CMTime | 资源文件中的时间点。 |
size | CGSize | 缩略图的尺寸(宽高)。 |
UIImage *-(void)cancelGenerate:(id)generator;参数名 | 类型 | 说明 |
generator | id | 由 getClipThumbnail... 或 getThumbnail... 系列异步方法返回的 Generator 对象。 |
voidAPI | 描述 |
设置草稿存储的路径。如果不设置,则使用 SDK 内置的默认路径。 | |
获取当前存储目录下的所有草稿列表 (NSArray<TAVDraft *> *)。 | |
生成草稿到预设目录,同时将草稿中使用的所有资源缓存到草稿目录,并与草稿一起删除。 | |
生成草稿到预设目录,但不缓存草稿使用的资源,资源管理由用户负责。 | |
获取编辑器当前加载的草稿对象。 | |
加载指定的草稿对象 (draft),并在加载完成后执行回调 。 | |
删除指定的草稿对象。 | |
删除所有草稿。 | |
重置/开始记录编辑器的操作历史,用于新的撤销/重做链。 | |
提交一次操作作为历史记录点,标记为草稿。返回提交是否成功。 | |
返回当前编辑器状态是否可撤销 (BOOL)。 | |
返回当前编辑器状态是否可重做 (BOOL)。 | |
撤销/回退到上一个操作状态,并在完成后执行回调。 | |
重做/前进到下一个操作状态,并在完成后执行回调。 | |
添加草稿监听状态的监听者 (id<ITAVDraftStateListener>)。 | |
删除草稿监听状态的监听者。 |
+(void)setDraftStorageDir:(NSString *)storageDir;参数名 | 类型 | 说明 |
storageDir | NSString * | 草稿文件的存储路径。 |
void+(NSArray<TAVDraft *> *)readDraftList;NSArray<TAVDraft *> *TAVDraft)的数组。-(BOOL)generateDraft;BOOL-(BOOL)generateDraftNoCacheResources;BOOL-(TAVDraft *)getCurrentDraft;TAVDraft *-(void)loadDraft:(TAVDraft *)draft onDraftLoadingFinished:(TAVDraftLoadingCallBack)callback;参数名 | 类型 | 说明 |
draft | TAVDraft * | 要加载的草稿对象。 |
callback | TAVDraftLoadingCallBack | 草稿加载完成后的回调函数。 |
void+(void)deleteDraft:(TAVDraft *)draft;参数名 | 类型 | 说明 |
draft | TAVDraft * | 要删除的草稿对象。 |
void+(void)deleteAllDrafts;void-(void)resetDraftRecord;void-(BOOL)commit:(NSString *)tag;参数名 | 类型 | 说明 |
tag | NSString * | 用于标记此次提交的标签值。 |
BOOL-(BOOL)canUndo;BOOL-(BOOL)canRedo;BOOL-(void)undo:(TAVDraftActionCallBack)callback;参数名 | 类型 | 说明 |
callback | TAVDraftActionCallBack | 撤销操作完成后的回调函数。 |
void-(void)redo:(TAVDraftActionCallBack)callback;参数名 | 类型 | 说明 |
callback | TAVDraftActionCallBack | 重做操作完成后的回调函数。 |
void-(void)addDraftStateListener:(id<ITAVDraftStateListener>)listener;参数名 | 类型 | 说明 |
listener | id<ITAVDraftStateListener> | 遵循 ITAVDraftStateListener 协议的监听者。 |
void-(void)removeDraftStateListener:(id<ITAVDraftStateListener>)listener;参数名 | 类型 | 说明 |
listener | id<ITAVDraftStateListener> | 要删除的监听者。 |
voidAPI | 描述 |
日志监听回调。 |
-(void)onLog:(TAVLogLevel)loggerLevel logMessage:(NSString * _Nonnull)logMessage;参数名 | 类型 | 说明 |
loggerLevel | TAVLogLevel | 返回当前日志等级。 |
logMessage | NSString * _Nonnull | 返回当前日志信息。 |
voidAPI | 描述 |
当播放器绑定的媒体资源 (AVPlayerItem) 发生变化时调用。 | |
当播放进度发生变化时调用,参数为当前播放时间 (CMTime)。 | |
当播放器的播放速度 (speed) 发生变化时调用。 | |
当播放器播放到末尾时调用(播放完成)。 | |
当视频的渲染区域或矩形 (videoRect) 发生变化时调用。 |
AVPlayerItem)发生变化时调用的回调方法。-(void)mediaPlayerItemDidChange:(AVPlayerItem *)playerItem;参数名 | 类型 | 说明 |
playerItem | AVPlayerItem * | 新的媒体播放器播放项对象。 |
void-(void)mediaPlayerProgressDidChange:(CMTime)currentTime;参数名 | 类型 | 说明 |
currentTime | CMTime | 当前的播放时间点。 |
void-(void)mediaPlayerStateDidChange:(TAVPlaybackState)state;参数名 | 类型 | 说明 |
state | 媒体播放器的新状态。 |
void-(void)mediaPlayerSpeedDidChange:(CGFloat)speed;参数名 | 类型 | 说明 |
speed | CGFloat | 媒体播放器的新播放速度。 |
void-(void)mediaPlayerDidPlayToEnd;voidvideoRect)发生变化时调用的回调方法。-(void)mediaPlayerVideoRectDidChange:(CGRect)videoRect;参数名 | 类型 | 说明 |
videoRect | CGRect | 视频内容的新渲染矩形。 |
voidAPI | 描述 |
显示画中画视图 (pipView) 时调用。这通常发生在画中画对象被激活并准备好在屏幕上进行交互时。 | |
隐藏画中画视图 (pipView) 时调用。这通常发生在画中画对象被注销或暂时不可见时。 | |
移除画中画视图 (pipView) 时调用。这通常发生在画中画对象被彻底从编辑器中删除时。 | |
取消激活画中画视图 (pipView) 时调用。表示该视图不再是当前用户的主要操作对象。 | |
激活画中画视图 (pipView) 时调用。表示该视图已成为当前用户的主要操作对象。 |
TAVPipView)被显示时调用的回调方法。-(void)didShowPipView:(TAVPipView *)pipView;参数名 | 类型 | 说明 |
pipView | TAVPipView * | 当前被显示的画中画视图对象。 |
voidTAVPipView)被隐藏时调用的回调方法。-(void)didHidePipView:(TAVPipView *)pipView;参数名 | 类型 | 说明 |
pipView | TAVPipView * | 当前被隐藏的画中画视图对象。 |
voidTAVPipView)从渲染层被移除时调用的回调方法。-(void)didRemovePipView:(TAVPipView *)pipView;参数名 | 类型 | 说明 |
pipView | TAVPipView * | 当前被移除的画中画视图对象。 |
voidTAVPipView)解除激活状态(退出编辑焦点)时调用的回调方法。-(void)didResignPipView:(TAVPipView *)pipView;参数名 | 类型 | 说明 |
pipView | TAVPipView * | 当前被注销的画中画视图对象。 |
voidTAVPipView)被激活(进入编辑焦点)时调用的回调方法。-(void)didActivePipView:(TAVPipView *)pipView;参数名 | 类型 | 说明 |
pipView | TAVPipView * | 当前被激活的画中画视图对象。 |
voidAPI | 描述 |
当贴纸列表(如添加、删除贴纸后)发生变化时通知代理。 | |
当前活跃的贴纸对象发生变化时通知代理。 | |
通知代理需要刷新视频帧(例如,贴纸位置、缩放等发生变化,需要重绘)。 | |
当指定的贴纸视图 (stickerView) 被激活时通知代理(通常意味着用户开始编辑该贴纸)。 | |
当指定的贴纸视图 (stickerView) 被注销(resign)时通知代理。 | |
当指定的贴纸视图 (stickerView) 被移除时通知代理。 | |
当指定的贴纸视图 (stickerView) 被显示时通知代理。 | |
当指定的贴纸视图 (stickerView) 被隐藏时通知代理。 |
-(void)stickerContextStickerListDidChange:(TAVStickerContext *)context;参数名 | 类型 | 说明 |
context | TAVStickerContext * | 告知此事件的贴纸上下文对象。 |
void-(void)stickerContextCurrentStickerDidChange:(TAVStickerContext *)context;参数名 | 类型 | 说明 |
context | TAVStickerContext * | 告知此事件的贴纸上下文对象。 |
void-(void)stickerContextShouldRefreshVideoFrame:(TAVStickerContext *)context;参数名 | 类型 | 说明 |
context | TAVStickerContext * | 告知此事件的贴纸上下文对象。 |
void-(void)stickerContext:(TAVStickerContext *)context didActiveSticker:(TAVStickerView *)stickerView;参数名 | 类型 | 说明 |
context | TAVStickerContext * | 告知此事件的贴纸上下文对象。 |
stickerView | TAVStickerView * | 被激活的贴纸视图。 |
void-(void)stickerContext:(TAVStickerContext *)context didResignSticker:(TAVStickerView *)stickerView;参数名 | 类型 | 说明 |
context | TAVStickerContext * | 告知此事件的贴纸上下文对象。 |
stickerView | TAVStickerView * | 被注销的贴纸视图。 |
void-(void)stickerContext:(TAVStickerContext *)context didRemoveSticker:(TAVStickerView *)stickerView;参数名 | 类型 | 说明 |
context | TAVStickerContext * | 告知此事件的贴纸上下文对象。 |
stickerView | TAVStickerView * | 被移除的贴纸视图。 |
void-(void)stickerContext:(TAVStickerContext *)context didShowSticker:(TAVStickerView *)stickerView;参数名 | 类型 | 说明 |
context | TAVStickerContext * | 告知此事件的贴纸上下文对象。 |
stickerView | TAVStickerView * | 被显示的贴纸视图。 |
void-(void)stickerContext:(TAVStickerContext *)context didHideSticker:(TAVStickerView *)stickerView;参数名 | 类型 | 说明 |
context | TAVStickerContext * | 告知此事件的贴纸上下文对象。 |
stickerView | TAVStickerView * | 被隐藏的贴纸视图。 |
voidtypedef NS_ENUM(NSUInteger, TAVPlayerFillMode);枚举值 | 原始值 | 说明 |
TAVPlayerFillModeAspectFit | 0 | 自适应填充:保持视频内容的宽高比,将整个视频内容放入视图边界内。视频内容可能不会填满整个视图,视图中可能出现黑边(类似 AVLayerVideoGravityResizeAspect)。 |
TAVPlayerFillModeAspectFill | 1 | 满屏填充:保持视频内容的宽高比,填满整个视图边界。视频内容可能会被裁切,确保视图中没有黑边(类似 AVLayerVideoGravityResizeAspectFill)。 |
TAVPlayerFillModeFill | 2 | 拉伸填充:不保持视频内容的宽高比,直接拉伸或缩放以填满整个视图边界。视频内容可能会失真(类似 AVLayerVideoGravityResize)。 |
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)。 |
typedef NS_ENUM(NSInteger, TAVEditorMediaType);枚举值 | 原始值 | 说明 |
TAVEditorMediaTypeUnknown | 0 | 未知类型。 |
TAVEditorMediaTypeVideo | 1 << 0 (即 1) | 视频类型:代表资源包含视频轨道。 |
TAVEditorMediaTypeAudio | 1 << 1 (即 2) | 音频类型:代表资源包含音频轨道。 |
TAVEditorMediaTypeImage | 1 << 2 (即 4) | 照片类型:代表资源是静态图片。 |
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 | 播放失败:播放过程中发生错误,导致无法正常播放。 |
文档反馈