iOS

最近更新时间:2025-12-23 16:43:42

我的收藏
本文主要介绍短视频编辑 TAVMagicUIKit SDK 的 iOS 端 API 接口文档,以便于查阅和使用。

TAVEditorPreviewController

预览编辑页面 Controller
属性
类型
说明
TAVEditor *editor
TAVEditor
TAVMagic 编辑 SDK。
TAVEditorPreviewMenuView *menuView
界面右侧一竖排按钮父视图。
TAVPreviewBgmView *bgmView
背景音乐展示视图,默认隐藏。
UIButton *backButton
UIButton
左上角返回按钮。
UIButton *nextButton
UIButton
next 按钮。
void (^nextClickCallback)(void)
Block
next 按钮点击事件。
void (^shouldHideMenuView)(void)
Block
menuView 隐藏回调。
void (^shouldShowMenuView)(void)
Block
menuView 显示回调。
NSTimeInterval minimumEditableDuration
NSTimeInterval
编辑最小时长,默认6s。
NSTimeInterval maximumEditableDuration
NSTimeInterval
编辑最大时长,默认60 * 60s。
id<ITAVMaterialProvider> materialProvider
资源提供者,KIT 内点击增加视频/图片/BGM 时会调用该协议内的方法,可通过此协议自定义资源选择界面。
id<ITAVEditInterceptor> editInterceptor
编辑拦截器,回调某些操作是否可继续的事件拦截,例如:当前轨道位置是否可分割、限制某个类型轨道的最大数量等。
相关方法
方法
说明
使用视频/图片数组初始化编辑控制器。
使用草稿初始化编辑控制器。
使用 SDK 初始化编辑控制器。
跳转编辑页。
跳转编辑页并选中第一条 BGM 轨道。
调起 BGM 选择面板,选择 BGM。
调起文字贴纸面板,添加文字贴纸。
调起音量设置面板,设置音量。
跳转录音面板,添加录音。
业务记录的录音 ID,用于区分 BGM 与录音。

initWithAssetPath:resources:

描述
初始化接口。用于通过一组初始资源创建编辑器对象。
接口
-(instancetype)initWithAssetPath:(NSString *)assetPath resources:(NSArray <TAVAlbumResource *>*)resources;
参数
参数名
类型
说明
assetPath
NSString *
lightCore.bundle 模型资源的路径,传 nil 默认从 mainBundle 获取。
resources
NSArray <TAVAlbumResource *>*
输入的初始资源数组。
返回值
类型:instancetype
说明:返回初始化后的对象实例。

initWithAssetPath:draft:

描述
初始化接口。用于通过一个草稿对象创建编辑器对象。
接口
-(instancetype)initWithAssetPath:(NSString *)assetPath draft:(TAVDraft *)draft;
参数
参数名
类型
说明
assetPath
NSString *
lightCore.bundle 模型资源的路径,传 nil 默认从 mainBundle 获取。
draft
TAVDraft *
用于加载的草稿对象。
返回值
类型:instancetype
说明:返回初始化后的对象实例。

initWithTavEditor:

描述
初始化接口。使用已存在的 TAVEditor 对象创建新的控制器实例。
接口
-(instancetype)initWithTavEditor:(TAVEditor *)editor;
参数
参数名
类型
说明
editor
TAVEditor *
SDK 编辑器对象。
返回值
类型:instancetype
说明:返回初始化后的对象实例。

pushEditController

描述
执行跳转操作,进入编辑页面。
接口
-(void)pushEditController;
参数
返回值
类型:void
说明:无返回值。

pushEditAndSelectBgmTrack

描述
跳转到编辑页面,并自动选中第一条背景音乐(BGM)轨道。
接口
-(void)pushEditAndSelectBgmTrack;
参数
返回值
类型:void
说明:无返回值。

showBgmSelectionPanel

描述
调起背景音乐(BGM)选择面板,供用户选择 BGM。
接口
-(void)showBgmSelectionPanel;
参数
返回值
类型:void
说明:无返回值。

showTextInputPanel

描述
调起文字贴纸输入面板,用于添加或编辑文字贴纸。
接口
-(void)showTextInputPanel;
参数
返回值
类型:void
说明:无返回值。

showVolumePanel

描述
调起音量设置面板,用于设置音量大小。
接口
-(void)showVolumePanel;
参数
返回值
类型:void
说明:无返回值。

gotoVoiceoverPanel

描述
跳转到录音面板,允许用户添加配音(Voiceover)。
接口
-(void)gotoVoiceoverPanel;
参数
返回值
类型:void
说明:无返回值。

voiceoverIds

描述
获取业务记录的录音 ID 列表,用于在业务逻辑中区分背景音乐(BGM)和录音资源。
接口
-(NSArray *)voiceoverIds;
参数
返回值
类型:NSArray *
说明:返回业务记录的录音 ID 数组。

TAVEditorPreviewMenuView

预览编辑页面右侧竖排按钮父视图
属性
类型
说明
UIButton *adjustBtn
UIButton
跳转主轨剪辑页面按钮。
UIButton *textBtn
UIButton
添加文字按钮。
UIButton *musicBtn
UIButton
添加音乐按钮。
UIButton *stickerBtn
UIButton
添加贴纸按钮。
UIButton *filterBtn
UIButton
添加滤镜按钮。
UIButton *effectBtn
UIButton
添加特效按钮。

TAVPreviewBgmView

背景音乐展示视图,默认隐藏
属性
类型
说明
UIImageView *iconView
UIImageView
音乐图标 icon。
UILabel *textView
UILabel
音乐文字 label。
UIButton *deleteBtn
UIButton
删除音乐按钮。
相关方法
方法
说明
设置是否有背景音乐。

setContainBgm:

描述
根据是否存在背景音乐(BGM)来设置并更新 UI 组件(如删除按钮的可见性和音效图标)。
接口
-(void)setContainBgm:(BOOL)hasBgm;
参数
参数名
类型
说明
hasBgm
BOOL
指示当前是否有背景音乐。若为 YES,显示删除按钮并设置默认音效图标;若为 NO,隐藏删除按钮并设置加载中音效图标。
返回值
类型:void
说明:无返回值。

ITAVMaterialProvider

Block 类型定义

描述
定义了用于处理素材选择结果的 Block 类型。
类型名称
类型定义
说明
handleBgmSelectResultFunc
typedef void(^handleBgmSelectResultFunc)(TAVBgmResource *bgmResource);
用于处理背景音乐(BGM)选择结果的 Block,回调返回选中的 BGM 资源对象。
handleAlbumSelectResultFunc
typedef void(^handleAlbumSelectResultFunc)(NSArray<TAVAlbumResource *> *resourceList);
用于处理相册文件选择结果的 Block,回调返回选中的媒体资源对象列表。

getBgmWithHandler:

描述
获取背景音乐(BGM)素材的接口。宿主应用应在此方法中调起 BGM 选择面板,并在用户选择完成后,通过 handler 回调选中的资源。
接口
-(void)getBgmWithHandler:(handleBgmSelectResultFunc)handler;
参数
参数名
类型
说明
handler
handleBgmSelectResultFunc
回调 Block,用于将选中的 TAVBgmResource 对象返回给 SDK。
返回值
类型:void
说明:无返回值。

getAlbumFilesForType:withHandler:

描述
获取相册文件的接口。宿主应用应在此方法中调起相册选择器,并根据 option 中指定的类型,在用户选择完成后,通过 handler 回调选中的资源列表。
接口
-(void)getAlbumFilesForType:(TAVAlbumOptions *)option withHandler:(handleAlbumSelectResultFunc)handler;
参数
参数名
类型
说明
option
TAVAlbumOptions *
相册选项,指定要选择的文件类型(如视频、图片)。
handler
handleAlbumSelectResultFunc
回调 Block,用于将选中的 TAVAlbumResource 对象列表返回给 SDK。
返回值
类型:void
说明:无返回值。

ITAVEditInterceptor

方法
说明
是否可添加新轨道。
是否可添加新轨道。
是否可分割轨道。

canAddNewTrack:count:

描述
检查是否可以根据轨道类型和当前已添加的轨道数量来添加新的轨道。
接口
-(BOOL)canAddNewTrack:(TAVTrackType)type count:(NSInteger)currentCount;
参数
参数名
类型
说明
type
TAVTrackType
待添加的轨道类型。
currentCount
NSInteger
当前已经添加的同类型轨道数量。
返回值
类型:BOOL
说明:返回 YES 表示可以添加新轨道,NO 表示达到数量限制或不被允许。

canAddNewTrack:currentTime:duration:

描述
检查是否可以根据轨道类型、当前时间点和总时长来添加新的轨道。
接口
-(BOOL)canAddNewTrack:(TAVTrackType)type currentTime:(CMTime)currentTime duration:(CMTime)totalDuration;
参数
参数名
类型
说明
type
TAVTrackType
待添加的轨道类型。
currentTime
CMTime
当前播放的时间点。
totalDuration
CMTime
当前编辑项目的总时长。
返回值
类型:BOOL
说明:返回 YES 表示可以添加新轨道,NO 表示不被允许(可能基于时间或时长限制)。

canSplitTrack:currentTime:timeRange:

描述
检查是否可以在指定的当前时间点对某一轨道进行分割操作。
接口
-(BOOL)canSplitTrack:(TAVTrackType)type currentTime:(CMTime)currentTime timeRange:(CMTimeRange)timeRange;
参数
参数名
类型
说明
type
TAVTrackType
待分割的轨道类型。
currentTime
CMTime
当前播放的时间点(分割点)。
timeRange
CMTimeRange
当前轨道的有效时间范围。
返回值
类型:BOOL
说明:返回 YES 表示可以在该时间点进行分割,NO 表示不允许分割(例如在轨道的边缘或少于最短可分割时长)。