Android

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

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

TAVEditorUIKit

短视频编辑的一体化 UI 组件。
API
描述
设置权限提供器,用于在编辑流程中处理运行时权限(如存储、麦克风等)。
使用一组素材路径初始化编辑器时间线,构建工程并刷新预览与时长信息。
使用已有草稿初始化编辑器,加载草稿内容并重置草稿上下文。
onResume
宿主页面 onResume 时调用,根据是否需要恢复播放控制播放器恢复或刷新,并通知面板恢复。
onPause
宿主页面 onPause 时调用,暂停播放器播放并通知面板暂停。
isPlaying
判断当前播放器是否处于播放中状态。
处理返回键事件,优先由面板和图层消费,返回是否已处理该返回事件。
onDestroy
宿主销毁时调用,释放播放器相关资源并清理全局 Toast 引用等。
设置素材提供器,用于 UI 内部拉取、选择或展示业务素材资源。
获取预编辑层对应的 FrameLayout,用于外部在预编辑界面添加自定义视图。
showLayer
根据传入的枚举切换编辑层(预编辑、主编辑、全屏预览、动效编辑等)。
showPanel
根据传入的枚举切换功能面板(文本、配音、滤镜、贴纸等),或关闭当前面板。
设置面板变化监听器,当功能面板发生切换时回调当前面板类型。
设置图层变化监听器,当编辑图层发生切换时回调当前图层类型。
saveDraft
保存当前编辑状态为草稿,返回生成的 TAVDraft 对象。
getDraft
获取当前的草稿对象,用于外部持久化或再次恢复。
获取编辑操作入口 ITAVEditOperator,对轨道、特效等进行底层编辑操作。
派生一个离屏编辑器实例,返回离屏编辑器标识,用于后台渲染或导出。
设置“下一步”点击回调,在用户点击下一步时回调并返回当前帧等结果。
设置最大可编辑时长,并根据该时长自动更新播放区间。
设置最小可编辑时长,用于限制工程时长下限。
获取离屏帧提供器,根据指定长边像素获取编辑结果帧序列。
获取指定时间点的一帧画面 Bitmap,通过回调异步返回结果。
设置编辑拦截器,在关键编辑行为(如删除、应用特效等)前做拦截和自定义处理。
设置播放器状态监听器,用于监听播放状态变化(播放、暂停、结束等)。
设置草稿变化监听器,当草稿内容发生变更时回调通知。
设置离屏视频播放器提供者,自定义离屏播放/渲染实现。
获取当前预览的渲染尺寸,用于适配 UI。
设置编辑 UI 使用的资源根路径。

setPermissionProvider

描述
设置权限提供器,用于处理编辑过程中涉及的运行时权限请求(如麦克风录制、存储读写等)。
接口
public void setPermissionProvider(ITAVPermissionProvider provider)
参数
参数名
类型
说明
provider
权限提供/请求适配接口实例。
返回值
类型:void
说明:无返回值。

initWithClipPath

描述
以一组视频/图片路径初始化编辑工程。
会重置播放器、刷新时长信息并重置草稿上下文,适用于“新建工程”或“重新加载素材”场景。
接口
public void initWithClipPath(List<String> pathList)
参数
参数名
类型
说明
pathList
List\\<String>
素材路径列表,可为视频或图片文件路径。
返回值
类型:void
说明:无返回值。内部会自动触发首帧渲染与时长计算。

initWithDraft

描述
使用已有草稿初始化编辑工程。
会加载草稿中的轨道、特效、文字、画中画等内容,并重置草稿上下文。
接口
public void initWithDraft(TAVDraft draft)
参数
参数名
类型
说明
draft
TAVDraft
已保存的草稿对象。
返回值
类型:void
说明:无返回值。草稿加载完成后,UI 会同步至草稿对应状态。

onResume

描述
通知 UI 组件所在页面进入可见/前台状态。
可选地恢复播放或仅刷新当前帧,内部会同步调用面板的 onResume
接口
public void onResume(boolean resumePlay)
参数
参数名
类型
说明
resumePlay
boolean
是否自动恢复播放:true 则尽量恢复播放,false 则仅刷新画面。
返回值
类型:void
说明:无返回值。

onPause

描述
通知 UI 组件所在页面进入不可见/后台状态。
会暂停播放器并通知面板进入暂停状态,适用于 Activity/Fragment 的 onPause() 回调中调用。
接口
public void onPause()
参数
返回值
类型:void
说明:无返回值。

isPlaying

描述
查询当前播放器是否处于“正在播放”状态。
接口
public boolean isPlaying()
参数
返回值
类型:boolean
说明:true 表示当前播放器正在播放,false 表示未播放(暂停、停止或未准备)。

onBackPressed

描述
处理返回键事件。
优先交由面板与图层控制器消费,例如关闭当前弹出的面板或退出编辑层;若内部未消费,则返回 false 交由外层处理。
接口
public boolean onBackPressed()
参数
返回值
类型:boolean
说明:true 表示内部已消费返回事件,false 表示未消费,应由外部 Activity/Fragment 继续处理。

onDestroy

描述
销毁 UI 组件内部资源。
会释放播放器资源、清理全局 Toast 引用等,适用于 Activity/Fragment 的 onDestroy() 中调用。
接口
public void onDestroy()
参数
返回值
类型:void
说明:无返回值。调用后不应继续使用该实例。

setMaterialProvider

描述
设置素材提供器,用于为 UI 工具栏、特效面板等提供滤镜、贴纸、动效等素材数据。
接口
public void setMaterialProvider(ITAVMaterialProvider provider)
参数
参数名
类型
说明
provider
素材数据提供接口实例。
返回值
类型:void
说明:无返回值。

getPreEditLayer

描述
获取“预编辑层”的根布局容器。
可用于上层手动在预编辑阶段叠加自定义 View 等。
接口
public FrameLayout getPreEditLayer()
参数
返回值
类型:FrameLayout
说明:预编辑图层的容器视图实例。可能为内部创建的 FrameLayout

showLayer

描述
切换当前展示的编辑图层(如预编辑、主编辑、全屏预览、动效编辑等)。
内部会根据传入的枚举类型切换对应的 BaseLayer,并触发图层变更回调。
接口
public void showLayer(TAVEditorUIConstants.TAVLayer layer)
参数
参数名
类型
说明
layer
TAVEditorUIConstants.TAVLayer
期望展示的图层类型,例如 PRE_EDITMAIN_EDITFULL_PREVIEWMOTION_EDIT
返回值
类型:void
说明:无返回值。

showPanel

描述
切换当前展示的编辑面板(如文字面板、配音面板、滤镜面板、贴纸面板等)。
接口
public void showPanel(TAVEditorUIConstants.TAVPanel panel)
参数
参数名
类型
说明
panel
TAVEditorUIConstants.TAVPanel
需要展示的面板类型,例如 NONETEXTVOICEOVERFILTERSTICKER
返回值
类型:void
说明:无返回值。

setPanelChangedListener

描述
设置面板切换监听器,用于在面板展示状态发生变化时接收回调(例如从主面板切到文字面板等)。
接口
public void setPanelChangedListener(TAVPanelChangedListener listener)
参数
参数名
类型
说明
listener
TAVPanelChangedListener
面板变更监听器实例,可为 null 取消监听。
返回值
类型:void
说明:无返回值。

setLayerChangedListener

描述
设置图层切换监听器,用于在编辑图层(预编辑、主编辑、全屏预览、动效编辑等)发生切换时回调给上层。
接口
public void setLayerChangedListener(TAVLayerChangedListener listener)
参数
参数名
类型
说明
listener
TAVLayerChangedListener
图层变更监听器实例,可为 null 取消监听。
返回值
类型:void
说明:无返回值。

saveDraft

描述
保存当前编辑状态为草稿。
会将轨道、特效、文字、画中画等信息序列化为 TAVDraft 对象,并返回该草稿。
接口
public TAVDraft saveDraft()
参数
返回值
类型:TAVDraft
说明:当前编辑状态对应的草稿对象。具体落盘路径可由 TAVDraft 自身字段/接口获取。

getDraft

描述
获取当前正在编辑的草稿模型对象。
saveDraft 不同,该方法仅返回内存中的草稿对象引用,不会主动保存。
接口
public TAVDraft getDraft()
参数
返回值
类型:TAVDraft
说明:当前编辑会话关联的草稿对象。

getEditOperator

描述
获取编辑操作入口接口,用于执行具体的编辑命令(如片段增删、特效添加、文字编辑等)。
接口
public ITAVEditOperator getEditOperator()
参数
返回值
说明:编辑操作接口实例,可用于对工程进行具体编辑操作。

forkOffscreenEditor

描述
从当前编辑上下文派生一个离屏编辑器实例,用于离屏渲染、封面生成等操作。
返回的 Key 可用于后续通过其他模块/接口查找并使用该离屏编辑器。
接口
public String forkOffscreenEditor()
参数
返回值
类型:String
说明:离屏编辑器实例的唯一标识 Key。

setNextClickCallback

描述
设置“下一步”按钮点击回调,用于在用户点击编辑完成/下一步时,将当前画面快照等信息回调给上层。
接口
public void setNextClickCallback(TAVCallback<Bitmap> callback)
参数
参数名
类型
说明
callback
TAVCallback\\<Bitmap>
“下一步”点击时的回调,参数为封面或当前帧 Bitmap,可为 null 取消回调。
返回值
类型:void
说明:无返回值。

setMaxEditDuration

描述
设置当前工程允许的最大编辑时长。
当素材总时长超过该值时,在预编辑层会自动限制播放/编辑范围。
接口
public void setMaxEditDuration(long duration)
参数
参数名
类型
说明
duration
long
最大编辑时长,单位:微秒(us)。
返回值
类型:void
说明:无返回值。内部会立即更新播放区间。

setMinEditDuration

描述
设置当前工程允许的最小编辑时长,用于约束内容长度下限(例如平台发布要求的最短视频时长)。
接口
public void setMinEditDuration(long duration)
参数
参数名
类型
说明
duration
long
最小编辑时长,单位:微秒(us)。
返回值
类型:void
说明:无返回值。

getFrameProvider

描述
获取离屏帧提供器,用于按指定长边尺寸获取当前工程的渲染帧(例如封面生成、预览缩略图等)。
接口
public ITAVFrameProvider getFrameProvider(int longSide)
参数
参数名
类型
说明
longSide
int
目标渲染图像的最长边尺寸,单位:像素。
返回值
类型:ITAVFrameProvider
说明:帧提供器接口,可用于按时间获取当前工程的渲染结果。

getFrameAtTime

描述
获取指定时间点的离屏渲染帧。
内部会按给定长边尺寸渲染,并通过回调返回对应的 Bitmap
接口
public void getFrameAtTime(long timeUs, int longSide, TAVConsumer<Bitmap> consumer)
参数
参数名
类型
说明
timeUs
long
目标时间点,单位:微秒(us)。
longSide
int
渲染图像最长边尺寸,单位:像素。
consumer
TAVConsumer\\<Bitmap>
渲染结果回调,参数为对应时间点的 Bitmap
返回值
类型:void
说明:无返回值,结果通过回调异步返回。

setEditInterceptor

描述
设置编辑拦截器,用于在执行编辑操作前进行校验或拦截(例如权限校验、业务限制、埋点等)。
接口
public void setEditInterceptor(ITAVEditInterceptor interceptor)
参数
参数名
类型
说明
interceptor
ITAVEditInterceptor
编辑操作拦截器实例,可为 null 取消拦截。
返回值
类型:void
说明:无返回值。

setPlayerStatusListener

描述
设置播放器状态监听器,用于接收更细粒度的播放器状态变化通知。
接口
public void setPlayerStatusListener(TAVPlayerStatusListener listener)
参数
参数名
类型
说明
listener
TAVPlayerStatusListener
播放器状态监听器实例,可为 null 取消监听。
返回值
类型:void
说明:无返回值。

setDraftChangeListener

描述
设置草稿变化监听器,用于在草稿被保存、修改或重置时通知业务层。
接口
public void setDraftChangeListener(TAVDraftChangeListener listener)
参数
参数名
类型
说明
listener
TAVDraftChangeListener
草稿变化监听器实例,可为 null 取消监听。
返回值
类型:void
说明:无返回值。

setOffScreenVideoPlayer

描述
设置离屏视频播放器提供器,用于控制导出/离屏预览时所使用的底层播放器实现。
接口
public void setOffScreenVideoPlayer(ITAVProvider<ITAVOffScreenVideoPlayer> provider)
参数
参数名
类型
说明
provider
ITAVProvider<ITAVOffScreenVideoPlayer>
离屏播放器提供器,用于创建实际播放实例。
返回值
类型:void
说明:无返回值。

getRenderSize

描述
获取当前实际渲染区域的尺寸。
该尺寸通常由画布比例、预览容器大小以及工程内容共同决定。
接口
public Size getRenderSize()
参数
返回值
类型:Size
说明:当前渲染区域的宽高信息。

setResourceRootPath

描述
设置资源根目录路径。
接口
public void setResourceRootPath(String path)
参数
参数名
类型
说明
path
String
资源根目录绝对路径或前缀。
返回值
类型:void
说明:无返回值。

ITAVPermissionProvider

TAVEditorUIKIt 内所需的权限提供者。

hasPermission

描述
判断当前是否已经授予指定的运行时权限。
通常在执行需要敏感权限的操作前调用,用于决定是直接执行还是发起权限请求。
接口
boolean hasPermission(String permission)
参数
参数名
类型
说明
permission
String
需要检查的权限名称(如 android.permission.RECORD_AUDIO)。
返回值
类型:boolean
说明:有权限则返回 true,否则返回 false。

requirePermission

描述
立即发起指定权限的请求。
请求结果会通过 PermissionResultReceiver 回调异步通知调用方。
接口
void requirePermission(String permission, int requestCode, PermissionResultReceiver receiver)
参数
参数名
类型
说明
permission
String
需要请求的权限名称(如 android.permission.RECORD_AUDIO)。
requestCode
int
权限请求的请求码,用于在上层区分不同请求场景。
receiver
PermissionResultReceiver
权限请求结果回调接收器实例,用于接收授权结果。
返回值
类型:void
说明:无返回值,权限结果通过 PermissionResultReceiver 异步回调通知。

onPermissionResult

描述
权限请求结果回调。当调用 requirePermission 后,用户在系统权限弹框中完成操作(允许/拒绝)时触发该回调。
接口
void onPermissionResult(boolean granted)
参数
参数名
类型
说明
granted
boolean
true 表示权限授予成功;为 false 表示用户拒绝或授权失败。
返回值
类型:void
说明:无返回值,调用方可在此回调中根据授权结果决定后续逻辑(继续操作或提示用户)。

ITAVMaterialProvider

TAVEditorUIKit 所需的媒体文件提供者。

getBgmFile

描述
触发选择背景音乐文件的流程。
具体选择逻辑(弹窗形式、本地文件或内置素材等)由业务方实现,选择结果通过 ITAVBgmResultHandler 回调返回。
接口
void getBgmFile(int requestCode, ITAVBgmResultHandler handler)
参数
参数名
类型
说明
requestCode
int
请求码,用于区分不同业务场景下的 BGM 选择请求。
handler
背景音乐选择结果回调接口,用于返回用户选中的素材。
返回值
类型:void
说明:无返回值,BGM 文件选择结果通过 handler 异步回调通知。

getAlbumFiles

描述
触发打开相册选择素材(视频/图片等)的流程。
通过 TAVAlbumOptions 控制最大选择数量、素材类型以及来源等,选择结果由 ITAVAlbumResultHandler 回调返回。
接口
void getAlbumFiles(int requestCode, TAVAlbumOptions options, ITAVAlbumResultHandler handler)
参数
参数名
类型
说明
requestCode
int
请求码,用于区分不同相册选择请求场景。
options
相册选择配置项,包括最大选择数量、资源类型、来源等。
handler
相册选择结果回调接口,用于返回用户选中的素材列表。
返回值
类型:void
说明:无返回值,相册选择结果通过 handler 异步回调通知。

ITAVBgmResultHandler

用于处理业务方的背景音乐选择结果。

onBgmSelectResult

描述
当通过 ITAVMaterialProvider.getBgmFile(...) 触发的 BGM 选择流程结束后(无论成功或失败),都需要回调该方法,通知UIKit请求对应的选择结果。
接口
void onBgmSelectResult(int requestCode, TAVBgmResource resource)
参数
参数名
类型
说明
requestCode
int
本次 BGM 选择请求的请求码,用于区分不同业务场景下的选择结果。
resource
TAVBgmResource
选择到的 BGM 资源对象;具体字段由 TAVBgmResource 定义,可能在用户取消时为 null
返回值
类型:void
说明:无返回值,通过回调告知调用方本次 BGM 选择的最终结果。

ITAVAlbumResultHandler

用于处理业务方的相册文件选择结果。

onAlbumSelectResult

描述
当通过 ITAVMaterialProvider.getAlbumFiles(...) 触发的相册选择流程结束后(无论用户是否真正选择了素材),都需要回调该方法,通知UIKit请求对应的选择结果。
接口
void onAlbumSelectResult(int requestCode, List<TAVAlbumResource> resourceList)
参数
参数名
类型
说明
requestCode
int
本次相册选择请求的请求码,用于区分不同业务场景的选择结果。
resourceList
List\\<TAVAlbumResource>
用户选中的相册素材列表;当用户未选择或取消时可能为空列表。
返回值
类型:void
说明:无返回值,通过回调向调用方返回本次相册选择的最终结果。

TAVAlbumOptions

描述
相册素材选择的配置项,用于约束可选择的素材数量、类型以及素材来源。
在调用 getAlbumFiles 时传入,用于指导 UI 和素材过滤逻辑。
参数
字段名
类型
说明
count
int
可选择的最大素材数量,例如 1 表示仅可选择单个文件。
type
资源类型(例如仅视频、仅图片或混合类型),由 TAVBaseResource.TYPE 定义。
from
TAVEditorUIConstants.TAVResourceFrom
素材来源类型(如系统相册、内置素材等),由 TAVResourceFrom 定义。

TAVBaseResource.TYPE

描述
资源类型枚举,用于标识素材在编辑器中的具体类别,例如背景音乐、图片、视频或多类型混合选择。
参数
枚举值
说明
BGM
背景音乐资源,仅音频类型。
PHOTO
图片资源,仅静态图片类型。
VIDEO
视频资源,仅视频文件类型。
MULTI
多类型混合资源,可同时包含图片与视频等。

TAVPanelChangedListener

TAVEditorUIKit 内编辑面板切换监听。

onPanelChanged

描述
编辑面板切换时的回调监听方法。
当编辑器内部当前展示的功能面板(如文字面板、配音面板等)发生变化时触发,用于通知外部同步 UI 或业务状态。
接口
void onPanelChanged(TAVEditorUIConstants.TAVPanel panel)
参数
参数名
类型
说明
panel
TAVEditorUIConstants.TAVPanel
当前展示的面板类型,例如 TEXT、VOICEOVER、FILTER 等。
返回值
类型:void
说明:无返回值,通过回调告知当前面板已发生变化。

TAVLayerChangedListener

TAVEditorUIKit 内编辑图层切换监听。

onLayerChanged

描述
编辑图层切换时的回调监听方法。
当编辑器当前展示的图层(如预编辑层、主编辑层、全屏预览层)发生变化时触发,用于通知外部同步 UI 或业务状态。
接口
void onLayerChanged(TAVEditorUIConstants.TAVLayer layer)
参数
参数名
类型
说明
layer
TAVEditorUIConstants.TAVLayer
当前展示的图层类型,例如 PRE_EDIT、MAIN_EDIT 等。
返回值
类型:void
说明:无返回值,通过回调告知外部当前图层已发生变化。

ITAVEditOperator

提供编辑操作入口,用于执行具体的编辑命令(如片段增删、特效添加、文字编辑等)
API
描述
获取当前工程中的所有主轨道片段模型列表 List<TAVClipModel>
获取当前工程中的所有背景音乐模型列表 List<TAVBgmModel>
获取当前工程中的所有配音模型列表 List<TAVVoiceoverModel>
获取当前工程中的所有文本模型列表 List<TAVTextModel>
获取当前工程中的所有画中画模型列表 List<TAVOverlayModel>
批量更新编辑模型列表(如 BGM、文本、配音、画中画),按传入的模型内容同步更新工程。
给当前工程新增编辑模型列表。
从当前工程中批量移除指定的编辑模型列表。
激活指定的编辑模型,通常用于使该元素成为当前选中项并进入可编辑状态。

getClipModels

描述
获取当前工程中所有主轨剪辑片段(Clip)的模型列表。
接口
List<TAVClipModel> getClipModels()
参数
返回值
类型:List<TAVClipModel>
说明:返回当前工程中所有剪辑片段对应的模型列表。

getBgmModels

描述
获取当前工程中所有背景音乐(BGM)的模型列表。
接口
List<TAVBgmModel> getBgmModels()
参数
返回值
类型:List<TAVBgmModel>
说明:返回当前工程中所有 BGM 模型列表。

getVoiceoverModels

描述
获取当前工程中所有配音(Voiceover)的模型列表。
接口
List<TAVVoiceoverModel> getVoiceoverModels()
参数
返回值
类型:List<TAVVoiceoverModel>
说明:返回当前工程中所有配音模型列表。

getTextModels

描述
获取当前工程中所有文字(Text)元素的模型列表。
接口
List<TAVTextModel> getTextModels()
参数
返回值
类型:List<TAVTextModel>
说明:返回当前工程中所有文字模型列表。

getOverlayModels

描述
获取当前工程中所有画中画(Overlay)元素的模型列表。
接口
List<TAVOverlayModel> getOverlayModels()
参数
返回值
类型:List<TAVOverlayModel>
说明:返回当前工程中所有画中画模型列表。

updateEditModels

描述
根据传入的编辑模型列表增量更新现有编辑数据。
通常用于对部分 BGM/配音/文字等已存在模型进行属性修改,而不是完全替换整个列表。
接口
void updateEditModels(List<? extends TAVEditModel<?>> models)
参数
参数名
类型
说明
models
List<? extends TAVEditModel<?>>
需要更新的编辑模型列表,支持 BGM、配音、文字等类型。
返回值
类型:void
说明:无返回值,内部会根据模型标识/ID 对应更新已有编辑元素的属性。

setEditModels

描述
设置新增的编辑模型列表。
接口
void setEditModels(List<? extends TAVEditModel<?>> models)
参数
参数名
类型
说明
models
List<? extends TAVEditModel<?>>
新增的编辑模型列表。
返回值
类型:void
说明:无返回值,调用后在当前工程中新增对应的编辑数据。

removeEditModel

描述
从当前工程中批量删除指定的编辑模型。
接口
void removeEditModel(List<? extends TAVEditModel<?>> models)
参数
参数名
类型
说明
models
List<? extends TAVEditModel<?>>
需要被删除的编辑模型列表,按模型 ID/标识进行移除。
返回值
类型:void
说明:无返回值,调用后传入的模型对应的编辑元素会从工程中移除。

activeEditModel

描述
激活指定的编辑模型。
激活操作通常会驱动 UI 高亮对应元素。
接口
void activeEditModel(TAVEditModel<?> model)
参数
参数名
类型
说明
model
TAVEditModel<?>
需要激活的编辑模型,可为 BGM、配音、文字等。
返回值
类型:void
说明:无返回值,调用后该模型会成为当前“激活/选中”的编辑对象,UI 与内部状态会同步更新。