Android

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

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

TAVMagicBase

TAVMagicBase 提供 TAVMagic SDK 的初始化、AI 模型资源安装、缩略图缓存配置以及日志系统配置等基础能力的静态工具方法。
API
描述
initSDK
初始化 SDK。支持两种形式:
1. initSDK(Context context, String resPath) 使用静态库并指定 light_assets 目录。
2. initSDK(Context context, String resPath, String libsPath) 支持自定义动态库目录。
拷贝 AI 模型文件:将已下载好的 AI 模型文件从 srcPath 复制到 resDir 对应的资源目录。返回 0 表示成功,-1 表示 srcPath 不存在,-2 表示 IO 错误。
将 assets 下的 AI 模型文件拷贝到本地指定路径 path,需与 initSDK 传入的路径保持一致。返回 0 表示成功,-1 表示 context 为空,-2 表示 IO 错误。
获取 SDK 初始化时保存的全局 Application Context。
获取当前 SDK 版本号,格式为 VERSION_NAME.VERSION_CODE
获取当前使用的 light assets 根目录路径。
设置缩略图文件缓存目录根路径。
设置缩略图的内存缓存大小。
设置缩略图的磁盘缓存容量上限。
设置缩略图软件解码使用的线程数量。
设置 SDK 日志等级。setLogLevel(int level) 仅设置日志等级;setLogLevel(int level, ITELogger logger) 同时设置日志等级并接入自定义日志回调。

initSDK

描述
初始化 TAV Magic SDK,使用内置静态库方式加载依赖,并安装 Light Assets 资源、设置缩略图缓存目录。
通常在应用进程启动后、第一次使用 SDK 前调用一次即可。
接口
public static boolean initSDK(Context context, String resPath)
参数
参数名
类型
说明
context
Context
Android 上下文对象,内部会使用 getApplicationContext() 保存全局引用。
resPath
String
Light Assets 根目录路径,用于安装 light_assets 资源。
返回值
类型:boolean
说明:初始化成功返回 true,加载 SO 或资源失败返回 false

initSDK

描述
初始化 TAV Magic SDK,使用自定义动态库目录加载依赖(动态 SO),并安装 Light Assets 资源、设置缩略图缓存目录。
适用于业务方自行管理或下载 SO 到自定义目录的场景。
接口
public static boolean initSDK(Context context, String resPath, String libsPath)
参数
参数名
类型
说明
context
Context
Android 上下文对象,内部会使用 getApplicationContext() 保存全局引用。
resPath
String
Light Assets 根目录路径,用于安装 light_assets 资源。
libsPath
String
自定义动态库目录路径,用于加载 TAV 相关 SO 文件。
返回值
类型:boolean
说明:初始化成功返回 true,加载 SO 或资源失败返回 false

installAIModelFile

描述
拷贝 AI 模型文件到指定资源目录。
将客户已下载好的 AI 模型文件从本地目录复制到 SDK 对应的模型目录下。
接口
public static int installAIModelFile(String srcPath, String resDir)
参数
参数名
类型
说明
srcPath
String
存放 AI 模型文件的源目录路径(已下载完成的模型文件所在目录)。
resDir
String
用于存放美颜资源的根目录,此目录与创建 XmagicApi 对象时传入的路径一致。
返回值
类型:int
说明:
0:拷贝成功。
-1srcPath 不存在。
-2:IO 错误。

installAIModelFilesFromAssets

描述
将 APK assets 目录下的 AI 模型文件拷贝到本地指定路径。
适用于在 APK 内预置 AI 模型文件的场景。
接口
public static int installAIModelFilesFromAssets(Context context, String path)
参数
参数名
类型
说明
context
Context
Android 上下文对象,拷贝 assets 资源时需要使用。
path
String
拷贝资源的目标路径,需要与 initSDK 时传入的 Light Assets 路径保持一致。
返回值
类型:int
说明:
0:复制成功。
-1context 为 null。
-2:IO 错误。

getApplicationContext

描述
获取在 initSDK 时保存的 Application Context,用于在 SDK 内部全局复用,避免泄漏 Activity / Service 等组件。
接口
public static Context getApplicationContext()
参数
返回值
类型:Context
说明:返回 SDK 内部持有的 Application 级别 Context;如未初始化可能为 null(调用前请确保已执行 initSDK)。

getSDKVersion

描述
获取当前集成的 TAV Magic SDK 版本号。
接口
public static String getSDKVersion()
参数
返回值
类型:String
说明:返回形如 "{VERSION_NAME}.{VERSION_CODE}" 的版本字符串,例如:1.2.3.45

getLightAssetsDir

描述
获取当前生效的 Light Assets 根目录路径。
接口
public static String getLightAssetsDir()
参数
返回值
类型:String
说明:返回通过 initSDK 传入并经 TAVResourceUtil.fixPathSuffix 处理后的 Light Assets 根目录;若未初始化可能为 null

setThumbnailCacheDir

描述
设置缩略图文件缓存的根目录,用于存放生成的缩略图文件(磁盘缓存)。
initSDK 内部会默认设置为 context.getCacheDir()/thumbnails,如业务需要自定义目录可再次调用该方法覆盖。
接口
public static void setThumbnailCacheDir(String cacheDirPath)
参数
参数名
类型
说明
cacheDirPath
String
缩略图磁盘缓存目录的路径(文件夹)。
返回值
类型:void
说明:无返回值。

setThumbnailMemoryCacheSize

描述
设置缩略图在内存中的缓存大小(单位依赖 TAVFrameExtractorConfig 的实现),用于控制缩略图内存占用。
接口
public static void setThumbnailMemoryCacheSize(int cacheSize)
参数
参数名
类型
说明
cacheSize
int
内存缓存大小配置值。
返回值
类型:void
说明:无返回值。

setThumbnailCacheCapacity

描述
设置缩略图磁盘缓存容量上限,用于控制缩略图在磁盘上的最大占用空间。
接口
public static void setThumbnailCacheCapacity(long capacity)
参数
参数名
类型
说明
capacity
long
磁盘缓存最大容量(单位:字节)。
返回值
类型:void
说明:无返回值。

setThumbnailThreadCount

描述
设置缩略图生成 / 解码使用的线程数量(软件解码线程数),用于平衡解码性能与 CPU 占用。
接口
public static void setThumbnailThreadCount(int count)
参数
参数名
类型
说明
count
int
线程数量(>0 的整数)。
返回值
类型:void
说明:无返回值。

setLogLevel

描述
设置 SDK 的日志输出级别。
该方法为便捷重载,等价于 setLogLevel(level, null),仅控制内部统一日志级别,不接入自定义日志回调。
接口
public static void setLogLevel(int level)
参数
参数名
类型
说明
level
int
日志级别,推荐使用 Log.VERBOSE / Log.DEBUG / Log.INFO / Log.WARN / Log.ERROR / TAVMagicBase.NO_LOG
返回值
类型:void
说明:无返回值。

setLogLevel

描述
设置 SDK 的日志输出级别,并接入自定义日志回调 ITELogger
接口
public static void setLogLevel(int level, ITELogger logger)
参数
参数名
类型
说明
level
int
日志级别,推荐使用 Log.VERBOSE / Log.DEBUG / Log.INFO / Log.WARN / Log.ERROR / TAVMagicBase.NO_LOG
logger
ITELogger
自定义日志回调接口实现;传入 null 则仅通过内部 TELog 输出,不再回调到业务层。
返回值
类型:void
说明:无返回值。

TAVEditor

TAVEditor 提供播放器控制、特效管理、视频合成等编辑相关操作接口。
API
描述
初始化编辑器,传入预览参数(父容器和渲染方式等)。
release
销毁编辑器,释放内部资源。
设置模板目录路径,返回模板加载结果码。
0:SUCCESS
-1:PATH_INVALID
-2:AUTH_INVALID
获取当前模板目录的绝对路径。
获取指定模板路径的坑位配置信息(模板占位、文案、素材要求等)。
fork
从当前编辑对象复制创建一个新的编辑实例,可根据预览参数创建上屏 / 离屏实例并决定是否创建渲染链。
读取当前渲染画面的快照,结果通过回调异步返回。
获取当前预览使用的渲染尺寸。
根据导出质量等级获取导出视频使用的渲染尺寸。
设置画布宽高比例(存为比例,不直接作为最终像素宽高)。
添加视频资源:支持在末尾追加或在指定位置插入视频列表,返回成功添加后的索引。
添加图片资源:支持在末尾追加或在指定位置插入图片列表,可指定播放时长,返回成功添加后的索引。
获取当前正在编辑的资源(视频/图片)总数量。
按资源下标移除对应的视频或图片资源。
设置指定资源的播放时间区间(startTimeUs ~ endTimeUs),视频会在该区间内截取播放。
设置指定视频资源的音量(0–1f)。
设置所有输入资源的统一背景音量(0–1f)。
获取指定视频资源的当前音量。
设置指定视频资源的播放速度。
获取指定视频资源的播放速度。
调整资源顺序,将资源从旧下标移动到新下标,返回是否调整成功。
获取输入视频路径对应的基础信息(时长、宽、高等)。
获取原始视频帧抽帧接口,可配置是否强制使用软解码。
addBgm
添加背景音乐,指定插入到视频时间轴的位置、素材起始时间和播放时长,返回唯一 BGM ID。
removeBgm
按 BGM 唯一 ID 删除背景音乐,返回删除是否成功。
调整背景音乐在视频时间轴上的起始播放位置。
设置指定背景音乐在素材内的播放区间(开始时间和持续时长)。
设置指定背景音乐的音量(建议范围 0–3f)。
设置所有背景音乐的统一音量(建议范围 0–3f)。
获取指定背景音乐的当前音量。
设置指定背景音乐的播放速度。
1为正常
大于1为变快
小于1为变慢
获取指定背景音乐的播放速度。
设置播放器是否启用循环播放。
设置预览监听器,用于接收播放进度、完成、错误等回调。
startPlay
开始播放预览。
设置预览播放的时间区间(开始时间与持续时长)。
在暂停后继续播放预览。
pausePlay
暂停当前预览播放。
获取当前工程的总播放时长(单位:us)。
isPlaying
判断当前是否处于播放中状态。
将播放位置移动到指定时间点,可选择非精准 seek(跳到临近关键帧)。
设置指定视频资源的顺时针旋转角度(0–360°)。
设置指定视频资源的裁剪区域(相对渲染尺寸归一化的 RectF)。
设置自定义纹理处理回调,用于对渲染纹理做二次处理。
移除自定义纹理处理回调。
addFilter
添加滤镜效果,传入 LUT 路径、强度和时间区间,返回唯一滤镜 ID。
调整指定滤镜的强度(0–1f)。
删除指定滤镜效果。
获取贴纸管理接口,用于添加、编辑和删除贴纸。
获取画中画管理接口,用于添加、编辑和删除画中画内容。
在指定位置设置转场素材,配置资源路径与时长,返回转场 ID。
更新指定转场效果的持续时长。
删除指定转场效果,返回删除是否成功。
添加动效,支持基础版本和带 scaleMode 的版本,返回动效 ID。
调整指定动效的播放时间区间(开始节点与持续时长)。
删除指定动效。
获取某一时间点的渲染结果图像,按长边缩放并指定渲染场景,通过回调返回。
获取帧提供接口,根据长边长度和渲染场景持续生成渲染结果。
导出视频:支持按预设导出等级或自定义编码配置导出至指定路径,并通过监听器获取进度和结果。
取消当前正在进行的视频导出任务。
立即刷新当前渲染,支持无参调用或携带 tag 与回调,在刷新完成后执行回调。
获取草稿管理接口,用于保存、恢复和管理编辑草稿。

initWithPreview

描述
初始化播放器预览环境,需传入父容器和渲染方式等参数。
接口
void initWithPreview(TAVEditorConstants.PreviewParam param)
参数
参数名
类型
说明
param
预览参数(父容器、渲染方式等)。
返回值
类型:void
说明:无返回值。

release

描述
销毁当前编辑器实例,释放内部占用的资源。调用后该编辑器实例不应再继续使用。
接口
void release()
参数
返回值
类型:void
说明:无返回值。

fork

描述
基于当前编辑对象创建一个新的编辑实例。
param.videoView = null:创建离屏实例。
param.videoView != null:创建上屏实例。
param = null:创建默认离屏实例。
param != null:根据 param.scene 决定是否创建渲染链。
接口
TAVEditor fork(TAVEditorConstants.PreviewParam param)
参数
参数名
类型
说明
param
新实例的预览配置参数。
返回值
类型:TAVEditor
说明:基于当前编辑状态创建的新编辑器实例。

readSnapshot

描述
读取当前渲染结果的快照(截图),通过回调返回。
接口
void readSnapshot(TAVSnapshotCallback callback)
参数
参数名
类型
说明
callback
TAVSnapshotCallback
快照获取成功时回调。
返回值
类型:void
说明:无返回值,结果通过回调返回。

setTemplateDir

描述
设置模板资源目录路径。
接口
int setTemplateDir(String path)
参数
参数名
类型
说明
path
String
模板目录路径。
返回值
类型:int
说明:模板授权与路径校验结果,TAVTemplateCode:0表示 SUCCESS,-1为 PATH_INVALID,-2为 AUTH_INVALID。

getTemplateDir

描述
获取当前已设置的模板目录路径。
接口
String getTemplateDir()
参数
返回值
类型:String
说明:模板目录的绝对路径。

getTemplateConfig

描述
获取指定模板路径对应的模板坑位等配置信息。
接口
TAVTemplateConfig getTemplateConfig(String templatePath)
参数
参数名
类型
说明
templatePath
String
模板路径。
返回值
类型:TAVTemplateConfig
说明:模板坑位等配置信息。

getRenderSize

描述
获取当前预览使用的渲染大小,一般为预览画布实际输出分辨率。
接口
Size getRenderSize()
参数
返回值
类型:Size
说明:当前预览渲染使用的宽高信息。

getGeneratingRenderSize

描述
根据导出质量等级获取导出视频时要使用的渲染大小。
分辨率最高不超过指定等级,例如:
VIDEO_LEVEL_360P = 0:360×640
VIDEO_LEVEL_480P = 1:640×480
VIDEO_LEVEL_540P = 2:960×540
VIDEO_LEVEL_720P = 3:1280×720
VIDEO_LEVEL_1080P = 4:1920×1080
接口
Size getGeneratingRenderSize(@TAVEditorConstants.GenerateLevel int level)
参数
参数名
类型
说明
level
int(@GenerateLevel)
导出质量等级(分辨率档位)。
返回值
类型:Size
说明:按指定导出质量计算得到的目标渲染宽高。

setRenderSizeRatio

描述
设置画布大小属性。此处传入的宽高代表画布的宽高比,内部不会直接使用此处的数值作为最终像素宽高。
接口
void setRenderSizeRatio(int width, int height)
参数
参数名
类型
说明
width
int
画布比例宽度。
height
int
画布比例高度。
返回值
类型:void
说明:无返回值。

addVideoClip

描述
向末尾添加一个视频资源,插入到当前时间线末尾。
接口
int addVideoClip(String path)
参数
参数名
类型
说明
path
String
视频文件路径。
返回值
类型:int
说明:成功添加后的视频片段索引,下标从 0 开始。

addVideoClip

描述
在指定位置插入一段或多段视频资源。插入位置之后的资源顺延。
接口
int addVideoClip(int clipIndex, List<String> paths)
参数
参数名
类型
说明
clipIndex
int
插入位置的目标下标。
paths
List\\<String>
待编辑的视频源路径列表。
返回值
类型:int
说明:成功添加后的第一个视频片段索引。

addImageClip

描述
向末尾添加一张图片资源,以图片形式参与时间线。
duration <= 0 时默认使用 3 秒时长。
接口
int addImageClip(String path, long duration)
参数
参数名
类型
说明
path
String
图片源路径。
duration
long
图片展示时长(单位:us,<=0 默认 3s)。
返回值
类型:int
说明:成功添加后的图片片段索引。

addImageClip

描述
在指定位置插入一张或多张图片资源。插入位置之后的资源顺延。
duration <= 0 时默认使用 3 秒时长。
接口
int addImageClip(int clipIndex, List<String> paths, long duration)
参数
参数名
类型
说明
clipIndex
int
插入位置的目标下标。
paths
List\\<String>
图片源路径列表。
duration
long
每张图片展示时长(单位:us,<=0 默认 3s)。
返回值
类型:int
说明:成功添加后的第一个图片片段索引。

getClipCount

描述
获取当前时间线上正在编辑的资源(视频 + 图片)数量。
接口
int getClipCount()
参数
返回值
类型:int
说明:当前时间线上资源片段的总数量。

removeClip

描述
移除指定位置的视频或图片资源。
接口
void removeClip(int clipIndex)
参数
参数名
类型
说明
clipIndex
int
需要移除的下标。
返回值
类型:void
说明:无返回值。

setClipRange

描述
修改指定资源的播放时长区间。
对于视频资源,startTimeUsendTimeUs 用于截取视频的播放区间。
接口
void setClipRange(int clipIndex, long startTimeUs, long endTimeUs)
参数
参数名
类型
说明
clipIndex
int
资源下标。
startTimeUs
long
资源播放开始时间(us)。
endTimeUs
long
资源播放结束时间(us)。
返回值
类型:void
说明:无返回值。

setVideoClipVolume

描述
设置指定视频资源的背景音量。
接口
void setVideoClipVolume(int clipIndex, float volume)
参数
参数名
类型
说明
clipIndex
int
视频资源下标。
volume
float
音量,范围 0–1f。
返回值
类型:void
说明:无返回值。

setAllClipsVolume

描述
统一设置所有视频/图片资源的背景音量。
接口
void setAllClipsVolume(float volume)
参数
参数名
类型
说明
volume
float
音量,范围 0–1f。
返回值
类型:void
说明:无返回值。

getVideoClipVolume

描述
获取指定视频资源当前背景音量。
接口
float getVideoClipVolume(int clipIndex)
参数
参数名
类型
说明
clipIndex
int
视频下标。
返回值
类型:float
说明:该视频片段当前音量值。

setVideoClipSpeed

描述
调整指定视频资源的播放速度。
接口
void setVideoClipSpeed(int clipIndex, float speed)
参数
参数名
类型
说明
clipIndex
int
视频下标。
speed
float
播放速度倍数。
返回值
类型:void
说明:无返回值。

getVideoClipSpeed

描述
获取指定视频资源当前播放速度。
接口
float getVideoClipSpeed(int clipIndex)
参数
参数名
类型
说明
clipIndex
int
视频下标。
返回值
类型:float
说明:该视频片段当前播放速度倍数。

updateClipIndex

描述
调整资源在时间线中的顺序,将某个资源从旧位置移动到新位置。
接口
boolean updateClipIndex(int oldClipIndex, int newClipIndex)
参数
参数名
类型
说明
oldClipIndex
int
调整前的下标。
newClipIndex
int
调整后的下标。
返回值
类型:boolean
说明:调整是否成功。

getVideoInfo

描述
获取输入视频资源的信息,包括时长、宽度、高度等。
接口
TAVVideoInfo getVideoInfo(String path)
参数
参数名
类型
说明
path
String
视频文件路径。
返回值
类型:TAVVideoInfo
说明:视频资源信息,如时长、宽度、高度等。

getThumbnailProvider

描述
获取视频原始帧抽帧接口提供者,可用于自定义缩略图或帧提取逻辑。
接口
ITAVThumbProvider getThumbnailProvider(boolean forceUseSoftwareDecoding)
参数
参数名
类型
说明
forceUseSoftwareDecoding
boolean
是否强制使用软解码抽帧。
返回值
说明:缩略图/帧抽取接口提供对象。

addBgm

描述
添加一段背景音乐到时间线中。
接口
int addBgm(String path, long startAtVideoTimeUS, long startTimeUS, long duration)
参数
参数名
类型
说明
path
String
背景音乐素材文件路径。
startAtVideoTimeUS
long
音乐添加到视频中的时间位置(us)。
startTimeUS
long
音频素材自身的起始播放时间(us)。
duration
long
音频播放时长(us)。
返回值
类型:int
说明:背景音乐素材唯一 ID,用于后续操作。

removeBgm

描述
根据唯一 ID 删除一段背景音乐。
接口
boolean removeBgm(int bgmID)
参数
参数名
类型
说明
bgmID
int
添加背景音乐时生成的唯一ID。
返回值
类型:boolean
说明:删除是否成功。

updateBgmPlayOffset

描述
调整背景音乐在视频中的位置(在时间线中的偏移)。
接口
void updateBgmPlayOffset(int bgmID, long videoStartTime)
参数
参数名
类型
说明
bgmID
int
背景音乐唯一 ID。
videoStartTime
long
在视频中的起始 position(Us)。
返回值
类型:void
说明:无返回值。

updateBgmPlayRange

描述
设置背景音乐的播放区间。
接口
void updateBgmPlayRange(int bgmID, long startTime, long duration)
参数
参数名
类型
说明
bgmID
int
背景音乐唯一 ID。
startTime
long
背景音乐开始播放时间(us)。
duration
long
背景音乐持续时长(us)。
返回值
类型:void
说明:无返回值。

setBgmVolume

描述
调整单个背景音乐的音量。
接口
void setBgmVolume(int bgmID, float volume)
参数
参数名
类型
说明
bgmID
int
背景音乐唯一 ID。
volume
float
音量,建议范围 0–3f。
返回值
类型:void
说明:无返回值。

setAllBgmVolume

描述
统一调整所有背景音乐的音量。
接口
void setAllBgmVolume(float volume)
参数
参数名
类型
说明
volume
float
音量,建议范围 0–3f。
返回值
类型:void
说明:无返回值。

getBgmVolume

描述
获取指定背景音乐的当前音量。
接口
float getBgmVolume(int bgmID)
参数
参数名
类型
说明
bgmID
int
背景音乐唯一 ID。
返回值
类型:float
说明:当前背景音乐的音量值。

setBgmSpeed

描述
调整指定背景音乐的播放速度。
接口
void setBgmSpeed(int bgmID, float speed)
参数
参数名
类型
说明
bgmID
int
背景音乐唯一 ID。
speed
float
播放速度倍数,1 为正常,大于 1 变快,小于 1 变慢。
返回值
类型:void
说明:无返回值。

getBgmSpeed

描述
获取指定背景音乐当前播放速度。
接口
float getBgmSpeed(int bgmID)
参数
参数名
类型
说明
bgmID
int
背景音乐唯一 ID。
返回值
类型:float
说明:当前 BGM 播放速度倍数。

setPlayerLoop

描述
设置播放器是否循环播放。
接口
void setPlayerLoop(boolean loop)
参数
参数名
类型
说明
loop
boolean
是否循环播放。
返回值
类型:void
说明:无返回值。

setVideoPreviewListener

描述
设置预览播放的监听回调。
接口
void setVideoPreviewListener(TAVPreviewListener listener)
参数
参数名
类型
说明
listener
预览播放监听回调。
返回值
类型:void
说明:无返回值。

startPlay

描述
开始播放当前时间线内容,从当前播放位置开始。
接口
void startPlay()
参数
返回值
类型:void
说明:无返回值。

setPlayTimeRange

描述
设置播放区间,仅在指定时间范围内进行播放。
接口
void setPlayTimeRange(long startTime, long duration)
参数
参数名
类型
说明
startTime
long
播放开始时间(us)。
duration
long
播放持续时长(us)。
返回值
类型:void
说明:无返回值。


resumePlay

描述
在暂停后继续播放(续播)。
接口
void resumePlay()
参数
返回值
类型:void
说明:无返回值。

pausePlay

描述
暂停当前播放。
接口
void pausePlay()
参数
返回值
类型:void
说明:无返回值。

getTotalDuration

描述
获取当前时间线的总播放时长。
接口
long getTotalDuration()
参数
返回值
类型:long
说明:总时长(单位:us)。

isPlaying

描述
判断当前是否处于播放中状态。
接口
boolean isPlaying()
参数
返回值
类型:boolean
说明:true 表示正在播放,false 表示未播放。

seekToTime

描述
跳转到指定时间点进行预览(seek)。
接口
void seekToTime(long timeUs, boolean isInAccurate)
参数
参数名
类型
说明
timeUs
long
跳转的目标时间(us)。
isInAccurate
boolean
是否开启非精准 seek:true 跳至临近关键帧,false 精准到指定位置。
返回值
类型:void
说明:无返回值。

setClipRotation

描述
设置指定视频片段的旋转角度(顺时针方向)。
接口
void setClipRotation(int clipIndex, @FloatRange(from = 0, to = 360f) float degrees)
参数
参数名
类型
说明
clipIndex
int
视频片段索引。
degrees
float
旋转角度,范围 0–360(度数)。
返回值
类型:void
说明:无返回值。

setClipRect

描述
设置指定视频片段的裁剪区域。
rectF 为相对于渲染尺寸归一化后的裁剪矩形。
接口
void setClipRect(int clipIndex, RectF rectF)
参数
参数名
类型
说明
clipIndex
int
视频片段索引。
rectF
RectF
相对渲染尺寸归一化的裁剪区域矩形。
返回值
类型:void
说明:无返回值。

setCustomVideoProcessListener

描述
设置纹理处理回调,可在外部对渲染纹理进行二次处理(自定义特效等)。
接口
void setCustomVideoProcessListener(TAVCustomProcessListener listener)
参数
参数名
类型
说明
listener
TAVCustomProcessListener
自定义纹理处理回调。
返回值
类型:void
说明:无返回值。

removeCustomVideoProcessListener

描述
移除自定义纹理处理回调。
接口
void removeCustomVideoProcessListener()
参数
返回值
类型:void
说明:无返回值。

addFilter

描述
添加一个滤镜效果。
接口
int addFilter(String lutPath, float strength, long startPts, long endPts)
参数
参数名
类型
说明
lutPath
String
滤镜素材路径(LUT 文件等)。
strength
float
滤镜强度(0–1f)。
startPts
long
生效开始时间(us)。
endPts
long
生效结束时间(us)。
返回值
类型:int
说明:滤镜的唯一 ID,可用于后续调整或删除。

setFilterStrength

描述
调整指定滤镜的强度。
接口
void setFilterStrength(int filterId, float strength)
参数
参数名
类型
说明
filterId
int
滤镜唯一 ID。
strength
float
滤镜强度(0–1f)。
返回值
类型:void
说明:无返回值。

removeFilter

描述
删除指定滤镜。
接口
void removeFilter(int filterId)
参数
参数名
类型
说明
filterId
int
滤镜唯一 ID。
返回值
类型:void
说明:无返回值。

getStickerManager

描述
获取贴纸操作管理接口,用于添加、编辑、删除贴纸等操作。
接口
ITAVStickerManager getStickerManager()
参数
返回值
说明:贴纸管理接口对象。

getPipManager

描述
获取画中画(PIP)操作管理接口。
接口
ITAVPipManager getPipManager()
参数
返回值
类型:ITAVPipManager
说明:画中画管理接口对象。

setTransition

描述
为指定位置设置转场素材。
接口
int setTransition(int clipIndex, String path, long durationUS)
参数
参数名
类型
说明
clipIndex
int
转场所在位置(片段之间的索引)。
path
String
转场资源路径。
durationUS
long
转场持续时长(us)。
返回值
类型:int
说明:转场素材 ID。

updateTransitionDuration

描述
更新指定转场的时长。
接口
void updateTransitionDuration(int transitionId, long durationUS)
参数
参数名
类型
说明
transitionId
int
转场 ID
durationUS
long
新的转场时长(us)
返回值
类型:void
说明:无返回值。

removeTransition

描述
删除指定转场效果。
接口
boolean removeTransition(int transitionId)
参数
参数名
类型
说明
transitionId
int
转场 ID
返回值
类型:boolean
说明:删除是否成功。

addMotionEffect

描述
添加一段动效(特效)到时间线中。
接口
int addMotionEffect(String path, long startOffset, long duration)
参数
参数名
类型
说明
path
String
动效素材路径
startOffset
long
生效开始时间偏移(us)
duration
long
播放时长(us)
返回值
类型:int
说明:动效唯一 ID。

addMotionEffect

描述
添加一段动效,并指定缩放模式。
接口
int addMotionEffect(String path, long startOffset, long duration, int scaleMode)
参数
参数名
类型
说明
path
String
动效素材路径
startOffset
long
生效开始时间偏移(us)
duration
long
播放时长(us)
scaleMode
int
缩放模式
返回值
类型:int
说明:动效唯一 ID。

updateMotionEffectPlayRange

描述
调整已有动效的播放时间范围。
接口
void updateMotionEffectPlayRange(int motionId, long startOffset, long duration)
参数
参数名
类型
说明
motionId
int
动效唯一 ID
startOffset
long
生效开始时间偏移(us)
duration
long
播放时长(us)
返回值
类型:void
说明:无返回值。

removeMotionEffect

描述
删除指定动效。
接口
void removeMotionEffect(int motionId)
参数
参数名
类型
说明
motionId
int
动效唯一 ID
返回值
类型:void
说明:无返回值。

getFrameAtTime

描述
获取某一时间点的渲染结果(单帧),异步返回。
接口
void getFrameAtTime(long positionUs, int longSideLength, int scene, TAVGetFrameListener listener)
参数
参数名
类型
说明
positionUs
long
时间点(us)
longSideLength
int
输出图片的最长边长度,内部会按比例计算另一边
scene
int(@RenderScene)
渲染场景,参考 TAVEditorConstants.SCENE_PLAY
listener
TAVGetFrameListener
获取结果回调
返回值
类型:void
说明:无返回值,结果通过回调返回。

getFrameProvider

描述
获取渲染帧提供器,可用于按需生成多帧画面。
接口
ITAVFrameProvider getFrameProvider(int longSideLength, @TAVEditorConstants.RenderScene int scene)
参数
参数名
类型
说明
longSideLength
int
输出帧的长边长度,会按渲染比例缩放到长边对齐
scene
int(@RenderScene)
渲染场景,参考 TAVEditorConstants.SCENE_PLAY
返回值
类型:ITAVFrameProvider(可为 null)
说明:帧生成器对象,用于按时间获取渲染结果。

generateVideo

描述
按预设导出质量档位导出视频。
接口
void generateVideo(int level, String outputPath, TAVEditorGenerateListener listener)
参数
参数名
类型
说明
level
int(@GenerateLevel)
导出质量等级(360P / 480P / 540P / 720P / 1080P 等)
outputPath
String
导出文件路径
listener
导出过程回调(进度、完成、错误等)
返回值
类型:void
说明:无返回值,导出结果通过回调返回。

generateVideo

描述
使用自定义配置导出视频,可设置分辨率、帧率、码率、Profile 等参数。
接口
void generateVideo(TAVEditorGenerateConfig config, String outputPath, TAVEditorGenerateListener listener)
参数
参数名
类型
说明
config
导出配置,如 width/height/frameRate/videoBitRate/profile 等
outputPath
String
导出文件路径
listener
导出过程回调
返回值
类型:void
说明:无返回值,导出结果通过回调返回。

cancelGenerate

描述
取消当前正在进行的视频导出任务。
接口
void cancelGenerate()
参数
返回值
类型:void
说明:无返回值。

flushImmediately

描述
立即刷新编辑器内部状态和渲染结果,用于确保修改实时生效。
接口
void flushImmediately()
参数
返回值
类型:void
说明:无返回值。

flushImmediately

描述
立即刷新编辑器内部状态,并在刷新完成后执行指定回调。
接口
void flushImmediately(@Nullable String tag, @Nullable TAVConsumer<String> callback)
参数
参数名
类型
说明
tag
String(可为 null)
当前刷新操作的标记
callback
TAVConsumer\\<String>(可为 null)
刷新完成后回调执行的任务,参数为 tag
返回值
类型:void
说明:无返回值。

getDraftManager

描述
获取草稿管理接口,可用于保存、读取当前编辑工程的草稿。
接口
TAVDraftManager getDraftManager()
参数
返回值
类型:TAVDraftManager
说明:草稿管理接口对象。

ITAVThumbProvider

抽帧器操作接口。
API
描述
设置抽帧输入源,传入视频路径和目标抽帧尺寸的最长边;若 longSide < 16,则按视频原始分辨率抽帧。
按时间间隔批量抽帧,根据给定间隔(微秒)从视频中提取连续帧,通过回调返回结果。
getFrames
按指定时间点列表批量抽帧,结合颗粒度(秒/帧)从 ptsList 对应位置提取帧,通过回调返回结果。
获取指定时间点(微秒)的单帧图像,结合颗粒度(秒/帧)抽取对应帧,通过回调返回结果。
从内存或磁盘缓存中获取指定视频、时间点、尺寸和颗粒度对应的已缓存帧,可能返回空。
将某一时间点、指定尺寸与颗粒度对应的帧图像缓存到内存/磁盘,用于后续快速读取。
获取当前视频的时长,单位为微秒(us)。
请求停止当前正在进行的抽帧任务。
release
释放抽帧相关资源,清理内部状态。

setDataSource

描述
设置抽帧的输入视频源及目标缩略图尺寸。
longSide 小于 MIN_LONG_SIDE 时,会按视频原始分辨率进行抽帧。
接口
void setDataSource(String videoPath, int longSide)
参数
参数名
类型
说明
videoPath
String
视频文件路径
longSide
int
目标抽帧尺寸的最长边长度,若小于 MIN_LONG_SIDE 则使用原始分辨率抽帧
返回值
类型:void
说明:无返回值,仅配置抽帧输入源与目标尺寸。

getFramesInterval

描述
按照固定时间间隔抽取缩略图帧。
会从当前数据源视频中,按给定的时间间隔(微秒)依次抽帧,并通过回调返回。
接口
void getFramesInterval(long intervalUs, FrameExtractingCallback callback)
参数
参数名
类型
说明
intervalUs
long
抽帧时间间隔(单位:微秒)
callback
FrameExtractingCallback
抽帧结果回调接口
返回值
类型:void
说明:无返回值,抽帧结果通过回调异步返回。

getFrames

描述
按照指定时间点列表批量抽取缩略图帧。
支持传入多个时间点 ptsList,并指定一个“颗粒度(granularity)”用于控制帧间隔精度。
接口
void getFrames(List<Long> ptsList, float granularity, FrameExtractingCallback callback)
参数
参数名
类型
说明
ptsList
List\\<Long>
需要抽帧的时间点列表(单位:微秒)
granularity
float
颗粒度,代表多少秒一帧,用于控制抽帧间隔的精度/容差
callback
FrameExtractingCallback
抽帧结果回调接口
返回值
类型:void
说明:无返回值,所有指定时间点的帧会通过回调批量异步返回。

getFrameAtTime

描述
抽取指定时间点的一帧缩略图。
可通过 granularity 控制帧间隔精度,用于在时间附近选择合适的关键帧。
接口
void getFrameAtTime(long pts, float granularity, FrameExtractingCallback callback)
参数
参数名
类型
说明
pts
long
目标抽帧时间点(单位:微秒)
granularity
float
颗粒度,代表多少秒一帧,用于控制抽帧间隔的精度/容差
callback
FrameExtractingCallback
抽帧结果回调接口
返回值
类型:void
说明:无返回值,指定时间点的帧会通过回调异步返回。

getCacheFrame

描述
从内存或磁盘缓存中获取指定视频在指定时间点的抽帧结果。
若缓存中不存在对应帧,则返回 null
接口
Bitmap getCacheFrame(String path, long pts, int longSide, float granularity)
参数
参数名
类型
说明
path
String
视频路径,与抽帧时的输入路径保持一致
pts
long
目标时间点(单位:微秒)
longSide
int
抽帧目标长边,与抽帧时使用的 longSide 一致
granularity
float
颗粒度,与抽帧时使用的 granularity 一致
返回值
类型:Bitmap
说明:命中缓存时返回对应时间点的帧图像;若缓存不存在则返回 null

saveCacheFrame

描述
将抽帧结果保存到缓存(内存或磁盘),以便后续通过 getCacheFrame 快速复用。
接口
void saveCacheFrame(String path, Bitmap bmp, long pts, int longSide, float granularity)
参数
参数名
类型
说明
path
String
视频路径
bmp
Bitmap
需要缓存的帧图像
pts
long
该帧对应的时间点(单位:微秒)
longSide
int
抽帧目标长边尺寸
granularity
float
抽帧颗粒度,用于缓存索引区分不同精度的抽帧结果
返回值
类型:void
说明:无返回值,仅负责写入缓存。

getDuration

描述
获取当前数据源视频的总时长。
接口
long getDuration()
参数
返回值
类型:long
说明:视频总时长,单位为微秒(us)。

requestStop

描述
请求停止当前正在进行的抽帧任务。
可用于用户取消操作或页面销毁时中断耗时任务。
接口
void requestStop()
参数
返回值
类型:void
说明:无返回值,调用后正在执行的抽帧过程会尝试尽快终止。

release

描述
释放抽帧相关资源。
应在不再需要使用该抽帧提供器时调用,以避免内存与系统资源泄露。
接口
void release()
参数
返回值
类型:void
说明:无返回值,调用后当前实例不应再继续使用。

ITAVStickerManager

贴纸操作相关接口。
API
描述
创建一个贴纸对象,指定贴纸类型和贴纸资源路径,返回新建的 TAVSticker
加载一个贴纸并立即渲染到画面上。
移除指定贴纸对象,立即生效。
添加贴纸观察者,用于监听贴纸列表变化等事件。
移除指定贴纸观察者。
获取当前已加载的所有贴纸列表。
通过贴纸 ID 获取对应的贴纸对象,不存在时返回 null
注册保底字体,当 PAG 未找到字体时优先回退到注册的字体列表,而不是系统字体,返回是否注册成功。

createSticker

描述
创建一个贴纸实例,但不会自动加入渲染队列,需配合 loadSticker 使用后才会显示在画面中。
接口
TAVSticker createSticker(TAVSticker.TAVStickerType type, String stickerPath)
参数
参数名
类型
说明
type
TAVSticker.TAVStickerType
贴纸类型
stickerPath
String
贴纸资源路径
返回值
类型:TAVSticker
说明:新创建的贴纸对象实例,仅完成内存中对象构建,不会自动渲染。

loadSticker

描述
加载一个贴纸到当前编辑场景中,并立即参与渲染。
接口
void loadSticker(TAVSticker sticker)
参数
参数名
类型
说明
sticker
TAVSticker
要加载的贴纸对象
返回值
类型:void
说明:无返回值,调用后贴纸立即加入渲染队列。

removeSticker

描述
从当前编辑场景中移除指定贴纸,操作立即生效。
接口
void removeSticker(TAVSticker sticker)
参数
参数名
类型
说明
sticker
TAVSticker
要移除的贴纸对象
返回值
类型:void
说明:无返回值,调用后贴纸立即从渲染队列中移除。

addStickerObserver

描述
添加一个贴纸观察者,用于监听贴纸列表的变化(如新增、删除、更新等)。
接口
void addStickerObserver(ITAVStickerContextObserver observer)
参数
参数名
类型
说明
observer
ITAVStickerContextObserver
贴纸列表监听器
返回值
类型:void
说明:无返回值。

removeStickerObserver

描述
移除已添加的贴纸观察者,取消对贴纸列表变化的监听。
接口
void removeStickerObserver(ITAVStickerContextObserver observer)
参数
参数名
类型
说明
observer
ITAVStickerContextObserver
要移除的监听器
返回值
类型:void
说明:无返回值。

getStickers

描述
获取当前所有已加载的贴纸列表。
接口
List<TAVSticker> getStickers()
参数
返回值
类型:List<TAVSticker>
说明:当前场景中所有已加载贴纸对象的列表。

getSticker

描述
通过贴纸 ID 获取对应的贴纸对象。
接口
TAVSticker getSticker(int id)
参数
参数名
类型
说明
id
int
贴纸 ID
返回值
类型:TAVSticker
说明:指定 ID 对应的贴纸对象;如果贴纸不存在,则返回 null

registerFallbackFont

描述
注册保底字体。当 PAG 动画中未找到所需字体时,优先从注册的字体列表中回退查找,而不是直接使用系统字体,以保证模板显示效果更一致。
接口
boolean registerFallbackFont(String fontPath)
参数
参数名
类型
说明
fontPath
String
字体文件路径
返回值


类型:boolean
说明:true 表示注册成功,false 表示注册失败(例如路径无效或读取失败)。

ITAVPipManager

画中画操作相关接口。
API
描述
createPip
创建一个画中画对象,指定媒体类型和视频/图片路径,返回 TAVPip 实例。
loadPip
加载一个画中画并立即渲染到画面上。
removePip
移除指定画中画对象,立即生效。
添加画中画观察者,用于监听画中画列表变化等事件。
移除指定画中画观察者。
getPips
获取当前已加载的所有画中画列表。
getPip
通过画中画 ID 获取对应的画中画对象,不存在时返回 null

createPip

描述
创建一个画中画对象,但不会自动加入渲染队列。
需配合 loadPip 使用后,画中画内容才会显示在画面中。
接口
TAVPip createPip(TAVMediaType type, String mediaPath)
参数
参数名
类型
说明
type
TAVMediaType
资源类型(视频 / 图片等)
mediaPath
String
画中画媒体资源路径(视频或图片路径)
返回值
类型:TAVPip
说明:新创建的画中画对象实例,仅完成内存中对象构建,不会自动参与渲染。

loadPip

描述
加载一个画中画到当前编辑场景中,并立即参与渲染。
通常在通过 createPip 创建画中画对象之后调用。
接口
void loadPip(TAVPip pip)
参数
参数名
类型
说明
pip
TAVPip
要加载的画中画对象
返回值
类型:void
说明:无返回值,调用后画中画立即加入渲染队列并显示在画面中。

removePip

描述
从当前编辑场景中移除指定画中画,操作立即生效。
接口
void removePip(TAVPip pip)
参数
参数名
类型
说明
pip
TAVPip
要移除的画中画对象
返回值
类型:void
说明:无返回值,调用后画中画立即从渲染队列中移除。

addPipObserver

描述
添加一个画中画观察者,用于监听画中画列表的变化(如新增、删除、属性更新等)。
接口
void addPipObserver(ITAVPipContextObserver observer)
参数
参数名
类型
说明
observer
ITAVPipContextObserver
画中画列表监听器
返回值
类型:void
说明:无返回值。

removePipObserver

描述
移除已添加的画中画观察者,取消对画中画列表变化的监听。
应与 addPipObserver 成对使用,避免内存泄漏。
接口
void removePipObserver(ITAVPipContextObserver observer)
参数
参数名
类型
说明
observer
ITAVPipContextObserver
要移除的监听器
返回值
类型:void
说明:无返回值。

getPips

描述
获取当前所有已加载并参与渲染的画中画列表。
可用于遍历当前场景中的画中画状态或做批量操作。
接口
List<TAVPip> getPips()
参数
返回值
类型:List<TAVPip>
说明:当前场景中所有已加载画中画对象的列表;若无画中画则返回空列表。

getPip

描述
通过画中画 ID 获取对应的画中画对象。
适用于根据业务层保存的画中画 ID 快速定位实例。
接口
TAVPip getPip(int id)
参数
参数名
类型
说明
id
int
画中画 ID
返回值
类型:TAVPip
说明:指定 ID 对应的画中画对象;如果画中画不存在,则返回 null

TAVSticker

贴纸数据结构,包含了贴纸所需的相关信息。
API
描述
设置贴纸进度处理器,用于外部自定义贴纸播放进度计算,返回当前 TAVSticker 支持链式调用。
计算在指定时间点的贴纸播放进度(0~1),优先使用外部注册的进度处理器,否则根据时间范围与动画模式自动计算。
设置贴纸文字内容,将新的 TAVStickerTextItem 替换原有文字图层内容。
获取贴纸文字内容,返回当前的 TAVStickerTextItem,若不存在则返回 null
设置贴纸图片内容,将新的 TAVStickerImageItem 替换原有图片图层内容。
获取贴纸图片内容,返回当前的 TAVStickerImageItem,若不存在则返回 null
获取贴纸动画持续时长,单位为微秒(us),内部基于 PAGFile.duration()
getWidth
获取贴纸对应 PAG 资源的宽度,像素单位。
getHeight
获取贴纸对应 PAG 资源的高度,像素单位。
获取文字区域相对于整个贴纸的偏移矩形区域,仅在文字贴纸(TEXT 类型)下有效。
获取图片相对于整个贴纸的偏移矩形区域,仅在图片贴纸(IMAGE 类型)下有效。
getPath
获取贴纸资源文件路径(本地路径或 assets 资源路径)。
设置贴纸是否自动播放,true 自动循环播放,false 不自动播放,返回当前 TAVSticker 支持链式调用。
获取当前贴纸是否开启自动播放标志。
getType
获取贴纸类型,如动画贴纸、文字贴纸、图片贴纸等。
设置贴纸层级,从 0 开始,数值越大层级越高,返回当前 TAVSticker 支持链式调用。
获取贴纸当前的层级索引,从 0 开始,数值越大层级越高。
获取贴纸动画播放模式(循环、播放到最后一帧静止、拉伸时长等)。
设置贴纸动画播放模式,并同步更新内部 PAG 的 TimeStretch 模式。
isVisible
获取贴纸当前是否可见。
设置贴纸是否可见,控制贴纸在渲染结果中的显示与否。
设置贴纸的生效时间区间,并将时间范围同步到内部 PAG 图层,返回当前 TAVSticker 支持链式调用。
设置贴纸在画布中的位置,支持传入 PointF 或 x/y 坐标,返回当前 TAVSticker 支持链式调用。
setScale
设置贴纸整体缩放比例,返回当前 TAVSticker 支持链式调用。
设置贴纸允许的最小缩放比例,返回当前 TAVSticker 支持链式调用。
设置贴纸允许的最大缩放比例,返回当前 TAVSticker 支持链式调用。
setRotate
设置贴纸旋转角度,单位为度,返回当前 TAVSticker 支持链式调用。
设置贴纸是否可编辑(是否响应手势等交互),返回当前 TAVSticker 支持链式调用。
clone
克隆当前贴纸对象,clone() 为默认浅拷贝,内部调用 clone(boolean deep)
clone
克隆当前贴纸对象,clone(boolean deep) 可控制是否对文字、图片图层做深拷贝。

setProgressHandler

描述
设置贴纸进度处理器,用于外部自定义贴纸的播放进度计算逻辑。
设置后,在渲染时会优先调用外部提供的 ITAVStickerProgressHandler
接口
public TAVSticker setProgressHandler(ITAVStickerProgressHandler progressHandler)
参数
参数名
类型
说明
progressHandler
ITAVStickerProgressHandler
自定义贴纸进度处理器回调接口
返回值
类型:TAVSticker
说明:返回当前 TAVSticker 实例,便于链式调用。

computeProgress

描述
计算在给定时间点下贴纸的播放进度。
若设置了 progressHandler,则优先调用其 computeProgress,否则按照贴纸时长、时间范围及 animationMode 自动计算:
默认模式循环播放;
FREEZE 播放至最后一帧后静止;
SCALE_UP 在用户选择时长大于原始时长时以慢速播放。
接口
public double computeProgress(long presentationTimeUs)
参数
参数名
类型
说明
presentationTimeUs
long
当前时间点(单位:微秒)
返回值
类型:double
说明:贴纸播放进度,范围为 [0.0, 1.0]。

setTextItem

描述
设置贴纸的文字内容。
内部会保持原有文字图层的 layerIndex,仅替换文字内容数据。
接口
public void setTextItem(TAVStickerTextItem textItem)
参数
参数名
类型
说明
textItem
TAVStickerTextItem
文本内容对象
返回值
类型:void
说明:无返回值。

getTextItem

描述
获取贴纸当前的文字内容对象。
若贴纸中不包含文本图层或读取失败,则返回 null
接口
public TAVStickerTextItem getTextItem()
参数
返回值
类型:TAVStickerTextItem
说明:当前贴纸的文本内容对象;若不存在文本图层则返回 null

setImageItem

描述
设置贴纸的图片内容。
内部会保持原有图片图层的 layerIndex,仅替换图片内容数据。
接口
public void setImageItem(TAVStickerImageItem imageItem)
参数
参数名
类型
说明
imageItem
TAVStickerImageItem
图片内容对象
返回值
类型:void
说明:无返回值。

getImageItem

描述
获取贴纸当前的图片内容对象。
若贴纸中不包含图片图层或读取失败,则返回 null
接口
public TAVStickerImageItem getImageItem()
参数
返回值
类型:TAVStickerImageItem
说明:当前贴纸的图片内容对象;若不存在图片图层则返回 null

durationTime

描述
获取贴纸动画的持续时长。
接口
public long durationTime()
参数
返回值
类型:long
说明:贴纸动画的总时长(单位:微秒)。若 pagFile 为空则返回 0。

getWidth

描述
获取贴纸对应 PAG 资源的宽度。
接口
public int getWidth()
参数
返回值
类型:int
说明:PAG 文件的宽度(像素)。若 pagFile 为空则返回 0。

getHeight

描述
获取贴纸对应 PAG 资源的高度。
接口
public int getHeight()
参数
返回值
类型:int
说明:PAG 文件的高度(像素)。若 pagFile 为空则返回 0。

getTextOffsetRect

描述
获取文本图层相对于整个贴纸内容的偏移矩形区域。
仅在贴纸类型为 TAVStickerType.TEXT 时有效;其他类型返回 null
内部会在必要时通过新建 PAGPlayer 来规避可见区域为 0 的情况。
接口
public RectF getTextOffsetRect()
参数
返回值
类型:RectF
说明:文本相对于 PAG 画布的偏移矩形;若贴纸类型不是文本或数据无效则返回 null

getImageOffsetRect

描述
获取图片内容相对于整个贴纸内容的偏移矩形区域。
内部会根据图片宽高与 PAG 尺寸进行等比缩放与居中,计算最终在 PAG 中的包围矩形。
仅在贴纸类型为 TAVStickerType.IMAGE 且图片有效时返回有效矩形。
接口
public RectF getImageOffsetRect()
参数
返回值
类型:RectF
说明:图片相对于 PAG 画布的偏移矩形;若类型不是图片贴纸或图片无效则返回 null

getPath

描述
获取贴纸资源文件路径。
接口
public String getPath()
参数
返回值
类型:String
说明:贴纸资源(*.pag 文件)的路径,可为本地路径或 assets 下资源路径。

setAutoPlay

描述
设置贴纸是否自动播放。
接口
public TAVSticker setAutoPlay(boolean autoPlay)
参数
参数名
类型
说明
autoPlay
boolean
true 表示自动播放,false 表示不自动播放
返回值
类型:TAVSticker
说明:返回当前 TAVSticker 实例,便于链式调用。

isAutoPlay

描述
获取当前贴纸是否自动播放。
接口
public boolean isAutoPlay()
参数
返回值
类型:boolean
说明:true 表示自动播放,false 表示不自动播放。

getType

描述
获取贴纸的类型。
接口
public TAVStickerType getType()
参数
返回值
类型:TAVStickerType
说明:贴纸类型枚举,如 MOTIONTEXTIMAGE

setLayerIndex

描述
设置贴纸的层级信息。
从 0 开始,数值越大层级越高,显示时越靠上。
接口
public TAVSticker setLayerIndex(int layerIndex)
参数
参数名
类型
说明
layerIndex
int
贴纸层级索引
返回值
类型:TAVSticker
说明:返回当前 TAVSticker 实例,便于链式调用。

getLayerIndex

描述
获取贴纸层级信息。
接口
public int getLayerIndex()
参数
返回值
类型:int
说明:贴纸层级,从 0 开始,数值越大层级越高。

getAnimationMode

描述
获取贴纸动画播放方式。
接口
public TAVStickerAnimationMode getAnimationMode()
参数
返回值
类型:TAVStickerAnimationMode
说明:当前贴纸动画播放模式,如 DEFAULT(循环)、FREEZE(播放后静止)、SCALE_UP(慢放)。

setAnimationMode

描述
设置贴纸动画播放方式,并同步更新内部 PAG 的时间拉伸模式。
接口
public void setAnimationMode(TAVStickerAnimationMode animationMode)
参数
参数名
类型
说明
animationMode
TAVStickerAnimationMode
贴纸动画播放模式
返回值
类型:void
说明:无返回值。

isVisible

描述
获取贴纸当前是否可见。
接口
public boolean isVisible()
参数
返回值
类型:boolean
说明:true 表示贴纸当前可见,false 表示不可见。

setVisible

描述
设置贴纸是否可见。
接口
public void setVisible(boolean visible)
参数
参数名
类型
说明
visible
boolean
是否可见,true 为可见
返回值
类型:void
说明:无返回值。

setTimeRange

描述
设置贴纸在时间线中的显示时间区间(覆盖父类同名方法)。
同时会将时间区间同步设置到内部 PAGFile 图层上。
接口
@Override public TAVSticker setTimeRange(TAVTimeRange timeRange)
参数
参数名
类型
说明
timeRange
TAVTimeRange
贴纸在时间线上的时间范围
返回值
类型:TAVSticker
说明:返回当前 TAVSticker 实例,便于链式调用。

setPosition(PointF)

描述
设置贴纸在画布中的位置(覆盖父类同名方法),坐标为归一化坐标或具体坐标(取决于父类定义)。
接口
@Override public TAVSticker setPosition(PointF point)
参数
参数名
类型
说明
point
PointF
贴纸中心位置坐标
返回值
类型:TAVSticker
说明:返回当前 TAVSticker 实例,便于链式调用。

setPosition(float x, float y)

描述
通过 x、y 坐标设置贴纸在画布中的位置(覆盖父类同名方法)。
接口
@Override public TAVSticker setPosition(float x, float y)
参数
参数名
类型
说明
x
float
X 坐标
y
float
Y 坐标
返回值
类型:TAVSticker
说明:返回当前 TAVSticker 实例,便于链式调用。

setScale

描述
设置贴纸整体缩放比例(覆盖父类同名方法)。
接口
@Override public TAVSticker setScale(float scale)
参数
参数名
类型
说明
scale
float
缩放比例因子
返回值
类型:TAVSticker
说明:返回当前 TAVSticker 实例,便于链式调用。

setMinScale

描述
设置贴纸允许的最小缩放比例(覆盖父类同名方法)。
接口
@Override public TAVSticker setMinScale(float minScale)
参数
参数名
类型
说明
minScale
float
最小缩放比例
返回值
类型:TAVSticker
说明:返回当前 TAVSticker 实例,便于链式调用。

setMaxScale

描述
设置贴纸允许的最大缩放比例(覆盖父类同名方法)。
接口
@Override public TAVSticker setMaxScale(float maxScale)
参数
参数名
类型
说明
maxScale
float
最大缩放比例
返回值
类型:TAVSticker
说明:返回当前 TAVSticker 实例,便于链式调用。

setRotate

描述
设置贴纸旋转角度(覆盖父类同名方法)。
接口
@Override public TAVSticker setRotate(float rotate)
参数
参数名
类型
说明
rotate
float
旋转角度,单位:度
返回值
类型:TAVSticker
说明:返回当前 TAVSticker 实例,便于链式调用。

setEditable

描述
设置贴纸是否可编辑(覆盖父类同名方法)。
例如可否响应手势缩放、拖动、旋转等交互。
接口
@Override public TAVSticker setEditable(boolean editable)
参数
参数名
类型
说明
editable
boolean
是否允许编辑
返回值
类型:TAVSticker
说明:返回当前 TAVSticker 实例,便于链式调用。

clone

描述
克隆当前贴纸对象,创建一个新的 TAVSticker 实例。
等价于调用 clone(false),即浅拷贝文本与图片项引用。
接口
@Override public TAVSticker clone()
参数
返回值
类型:TAVSticker
说明:克隆后的贴纸对象,包含与原贴纸相同的基础属性与 PAGFile 内容。

clone(boolean deep)

描述
克隆当前贴纸对象,并可指定是否进行深拷贝。
deep == false 时:textListimageList 引用与原对象共享;
deep == true 时:重新读取文本与图片图层,并逐项拷贝数据,形成独立副本。
接口
public TAVSticker clone(boolean deep)
参数
参数名
类型
说明
deep
boolean
是否进行深拷贝:true 深拷贝,false 浅拷贝
返回值
类型:TAVSticker
说明:克隆后的贴纸对象,包含时间范围、位置、缩放、旋转、可编辑状态等属性的拷贝。

TAVPip

画中画数据结构,包含了画中画所需的相关信息。
API
描述
getPath
获取画中画资源文件路径。
获取画中画对应的媒体类型(视频或图片)。
getVolume
获取画中画当前音量,范围为 [0, 3]。
setVolume
设置画中画音量,范围为 [0, 3]。
getSpeed
获取画中画当前播放速度。
setSpeed
设置画中画播放速度。
获取画中画在主视频时间轴上的起始时间(单位:微秒)。
设置画中画在主视频时间轴上的起始时间(单位:微秒)。
获取画中画原始媒体时长(单位:微秒)。
getWidth
获取画中画源媒体的宽度(像素)。
getHeight
获取画中画源媒体的高度(像素)。
设置画中画在时间轴上的生效区间,返回当前 TAVPip,支持链式调用。
设置画中画在画布中的位置(支持传入 PointF 或 x/y 坐标),返回当前 TAVPip,支持链式调用。
setScale
设置画中画的整体缩放比例,返回当前 TAVPip,支持链式调用。
设置画中画允许的最小缩放比例,返回当前 TAVPip,支持链式调用。
设置画中画允许的最大缩放比例,返回当前 TAVPip,支持链式调用。
setRotate
设置画中画旋转角度,返回当前 TAVPip,支持链式调用。
设置画中画是否可编辑(是否响应手势等交互),返回当前 TAVPip,支持链式调用。
clone
克隆当前画中画对象,生成一个具有相同路径、时间区间、变换参数等属性的新 TAVPip 实例。

getPath

描述
获取当前画中画资源的路径。
接口
public String getPath()
参数
返回值
类型:String
说明:画中画媒体资源路径,一般为视频或图片的本地文件路径。

getMediaType

描述
获取画中画资源的媒体类型。
接口
public TAVMediaType getMediaType()
参数
返回值
类型:TAVMediaType
说明:画中画资源的媒体类型,例如视频、图片等。

getVolume

描述
获取当前画中画的音量。
接口
public float getVolume()
参数
返回值
类型:float
说明:画中画当前音量值,范围为 [0, 3]。1 表示原始音量。

setVolume

描述
设置画中画音量。
接口
public void setVolume(float volume)
参数
参数名
类型
说明
volume
float
画中画音量,范围为 [0, 3],1 为原始音量
返回值
类型:void
说明:无返回值。

getSpeed

描述
获取画中画的播放速度。
接口
public float getSpeed()
参数
返回值
类型:float
说明:画中画当前播放速度倍数。通常 1 为正常速度。

setSpeed

描述
设置画中画播放速度。
接口
public void setSpeed(float speed)
参数
参数名
类型
说明
speed
float
播放速度倍数,范围建议 [0, 1]
返回值
类型:void
说明:无返回值。

getStartAtVideoUs

描述
获取画中画在主视频时间线中的起始时间。
接口
public long getStartAtVideoUs()
参数
返回值
类型:long
说明:画中画在主视频中的开始时间,单位为微秒(us)。

setStartAtVideoUs

描述
设置画中画在主视频时间线中的起始时间。
接口
public void setStartAtVideoUs(long startAtVideoUs)
参数
参数名
类型
说明
startAtVideoUs
long
画中画在主视频中的开始时间,单位:微秒(us)
返回值
类型:void
说明:无返回值。

getOriginDuration

描述
获取画中画原始媒体的时长。
接口
public long getOriginDuration()
参数
返回值
类型:long
说明:画中画原始媒体时长(未剪裁前的时长),单位为微秒(us)。

getWidth

描述
获取画中画的宽度(像素)。
内部返回的是源媒体实际宽度。
接口
public int getWidth()
参数
返回值
类型:int
说明:画中画媒体宽度(像素)。

getHeight

描述
获取画中画的高度(像素)。
内部返回的是源媒体实际高度。
接口
public int getHeight()
参数
返回值
类型:int
说明:画中画媒体高度(像素)。

setTimeRange

描述
设置画中画在时间线上的显示时间区间。
会覆盖父类中对应实现,并返回当前 TAVPip 以支持链式调用。
接口
public TAVPip setTimeRange(TAVTimeRange timeRange)
参数
参数名
类型
说明
timeRange
TAVTimeRange
画中画在时间线中的时间范围
返回值
类型:TAVPip
说明:返回当前 TAVPip 实例,便于链式调用。

setPosition(PointF)

描述
设置画中画在画布中的位置(中心点位置),使用 PointF 指定。
接口
public TAVPip setPosition(PointF point)
参数
参数名
类型
说明
point
PointF
画中画中心位置坐标
返回值
类型:TAVPip
说明:返回当前 TAVPip 实例,便于链式调用。

setPosition(float x, float y)

描述
通过 x、y 坐标设置画中画在画布中的位置(中心点)。
接口
public TAVPip setPosition(float x, float y)
参数
参数名
类型
说明
x
float
X 坐标
y
float
Y 坐标
返回值
类型:TAVPip
说明:返回当前 TAVPip 实例,便于链式调用。

setScale

描述
设置画中画整体缩放比例。
接口
public TAVPip setScale(float scale)
参数
参数名
类型
说明
scale
float
缩放比例因子
返回值
类型:TAVPip
说明:返回当前 TAVPip 实例,便于链式调用。

setMinScale

描述
设置画中画允许的最小缩放比例。
接口
public TAVPip setMinScale(float minScale)
参数
参数名
类型
说明
minScale
float
最小缩放比例
返回值
类型:TAVPip
说明:返回当前 TAVPip 实例,便于链式调用。

setMaxScale

描述
设置画中画允许的最大缩放比例。
接口
public TAVPip setMaxScale(float maxScale)
参数
参数名
类型
说明
maxScale
float
最大缩放比例
返回值
类型:TAVPip
说明:返回当前 TAVPip 实例,便于链式调用。

setRotate

描述
设置画中画的旋转角度。
接口
public TAVPip setRotate(float rotate)
参数
参数名
类型
说明
rotate
float
旋转角度,单位:度
返回值
类型:TAVPip
说明:返回当前 TAVPip 实例,便于链式调用。

setEditable

描述
设置画中画是否可编辑,例如是否响应拖动、缩放、旋转等交互。
接口
public TAVPip setEditable(boolean editable)
参数
参数名
类型
说明
editable
boolean
是否允许编辑
返回值
类型:TAVPip
说明:返回当前 TAVPip 实例,便于链式调用。

clone

描述
克隆当前画中画对象,创建一个新的 TAVPip 实例。
会拷贝时间范围、路径、音量、缩放、旋转、位置、可编辑状态等属性。
接口
public TAVPip clone()
参数
返回值
类型:TAVPip
说明:克隆后的画中画对象,内部共享或拷贝的字段与当前实例保持一致(注意 extraInfo 为同一引用)。

TAVDraftManager

草稿操作相关接口。
API
描述
设置草稿保存目录路径,后续所有草稿读写都会使用该目录。
读取当前草稿保存目录下的所有草稿列表,并按时间倒序排序返回。
删除指定草稿对象对应的草稿文件及目录,返回是否删除成功。
删除当前草稿保存目录下的所有草稿文件及目录,返回是否删除成功。
保存当前编辑状态为草稿,使用给定封面图路径,返回生成的草稿路径,失败时返回 null。
loadDraft
加载指定草稿对象,加载完成后通过 DraftLoadingCallback 回调草稿加载结果。
设置草稿状态监听器,用于监听是否可撤销、可重做等草稿状态变化。
重置草稿记录,从头开始记录草稿变更历史。
commit
提交一次草稿快照,如果自上次提交以来效果未发生变化,则本次提交不生效,返回是否生效。
canUndo
判断当前是否存在可撤销的草稿记录。
canRedo
判断当前是否存在可重做的草稿记录。
undo
执行一次撤销操作,通过 DraftActionCallback 回调本次切换草稿产生的差异结果或错误信息。
redo
执行一次重做操作,通过 DraftActionCallback 回调本次切换草稿产生的差异结果或错误信息。
获取当前的草稿模型实例 TAVDraft
设置草稿组件变更监听器,当草稿中的 TAVDraftComponent 发生变化时回调通知。

setDraftStorageDir

描述
设置草稿保存目录的根路径。
若传入路径末尾未包含文件分隔符(File.separator),内部会自动追加。
接口
public static void setDraftStorageDir(String storageDir)
参数
参数名
类型
说明
storageDir
String
草稿保存根目录的绝对路径
返回值
类型:void
说明:无返回值。

readDraftList

描述
读取当前草稿存储目录下的所有草稿记录。
会自动过滤无效目录,并按时间戳倒序排序(最近的草稿排在最前)。
接口
public static List<TAVDraft> readDraftList()
参数
返回值
类型:List<TAVDraft>
说明:返回已解析的草稿列表;当目录不存在或无有效草稿时,返回空列表。

deleteDraft

描述
删除指定草稿对象及其对应的本地目录。
接口
public static boolean deleteDraft(TAVDraft draft)
参数
参数名
类型
说明
draft
TAVDraft
需要删除的草稿对象
返回值
类型:boolean
说明:删除操作是否执行成功;当 draft == null 时直接返回 false

deleteAllDrafts

描述
删除当前草稿存储目录下的所有草稿数据。
接口
public static boolean deleteAllDrafts()
参数
返回值
类型:boolean
说明:删除操作是否执行成功。

generateDraft

描述
保存当前编辑状态为一条草稿记录,并生成对应的草稿目录与描述信息。
需在具体实现类中完成序列化逻辑。
接口
public abstract String generateDraft(String thumbPath)
参数
参数名
类型
说明
thumbPath
String
草稿封面图文件的路径
返回值
类型:String
说明:成功保存时返回草稿目录路径;若保存失败则返回 null

loadDraft

描述
从指定草稿对象加载草稿内容,并恢复到当前编辑器/工程中。
加载过程通过回调 DraftLoadingCallback 通知结果与状态。
接口
public abstract void loadDraft(TAVDraft draft, DraftLoadingCallback callback)
参数
参数名
类型
说明
draft
TAVDraft
需要加载的草稿对象
callback
草稿加载过程与结果回调
返回值
类型:void
说明:无返回值,结果通过回调异步通知。

setDraftStateListener

描述
设置草稿状态监听器,用于监控草稿相关的生命周期事件(如保存、恢复、清理等)。
接口
public abstract void setDraftStateListener(DraftStateListener listener)
参数
参数名
类型
说明
listener
草稿状态监听器实现
返回值
类型:void
说明:无返回值。

resetDraftRecord

描述
重置当前草稿记录链路,清空历史的操作记录缓存。
通常在开始一个新的编辑会话或重新进入工程时调用。
接口
public abstract void resetDraftRecord()
参数
返回值
类型:void
说明:无返回值。

commit

描述
提交一次草稿快照,记录当前编辑状态。
如果自上一次提交以来编辑状态没有发生变化,则本次提交不会生效。
接口
public abstract boolean commit(String tag)
参数
参数名
类型
说明
tag
String
本次提交的标记字符串
返回值
类型:boolean
说明:本次提交是否真实生效,true 表示生成了新的草稿记录,false 表示状态未变化未生成新记录。

canUndo

描述
判断当前是否存在可撤销的草稿操作记录。
接口
public abstract boolean canUndo()
参数
返回值
类型:boolean
说明:true 表示当前可以执行撤销操作,false 表示无可撤销记录。

canRedo

描述
判断当前是否存在可回退(重做)的草稿操作记录。
接口
public abstract boolean canRedo()
参数
返回值
类型:boolean
说明:true 表示当前可以执行回退/重做操作,false 表示无可回退记录。

undo

描述
执行一次撤销操作,将编辑状态回滚到上一个草稿记录。
操作结果通过 DraftActionCallback 回调通知。
接口
public abstract void undo(DraftActionCallback callback)
参数
参数名
类型
说明
callback
撤销动作结果回调
返回值
类型:void
说明:无返回值,撤销结果通过回调异步通知。

redo

描述
执行一次回退(重做)操作,将编辑状态前进到下一条草稿记录。
操作结果通过 DraftActionCallback 回调通知。
接口
public abstract void redo(DraftActionCallback callback)
参数
参数名
类型
说明
callback
回退动作结果回调
返回值
类型:void
说明:无返回值,回退结果通过回调异步通知。

getCurrentDraft

描述
获取当前编辑状态对应的草稿模型对象。
通常用于展示当前草稿信息或与外部业务同步。
接口
public abstract TAVDraft getCurrentDraft()
参数
返回值
类型:TAVDraft
说明:当前编辑状态对应的草稿实例。

setDraftComponentObserver

描述
设置草稿组件变更的监听器,用于监听草稿内部组件(如轨道、特效、素材等)的变更事件。
接口
public abstract void setDraftComponentObserver(DraftComponentObserver observer)
参数
参数名
类型
说明
observer
草稿组件变更监听器实例
返回值
类型:void
说明:无返回值。

DraftStateListener

草稿状态回调

onUndoStateChange

描述
草稿撤销能力状态回调。当当前是否可撤销的状态发生变化时触发,用于更新 UI 状态(例如撤销按钮的可用性)。
接口
void onUndoStateChange(boolean canUndo)
参数
参数名
类型
说明
canUndo
boolean
当前是否存在可撤销的操作记录状态
返回值
类型:void
说明:无返回值,通过回调通知状态变化。

onRedoStateChange

描述
草稿重做能力状态回调。当当前是否可重做的状态发生变化时触发,用于更新 UI 状态(例如重做按钮的可用性)。
接口
void onRedoStateChange(boolean canRedo)
参数
参数名
类型
说明
canRedo
boolean
当前是否存在可重做的操作记录状态
返回值
类型:void
说明:无返回值,通过回调通知状态变化。

DraftActionCallback

草稿撤销/重做回调。

onCheckoutDraft

描述
在执行撤销或重做操作时回调该方法,用于通知业务侧当前已切换到哪一次草稿提交,以及本次切换过程中发生了哪些差异。
接口
void onCheckoutDraft(String tag, TAVDiffResult diffResult)
参数
参数名
类型
说明
tag
String
提交草稿时传入的标记(TAG),用于区分不同提交
diffResult
TAVDiffResult
本次切换草稿时发生的变更结果模型
返回值
类型:void
说明:无返回值,通过回调告知调用方草稿切换结果与差异信息。

onError

描述
在撤销或重做过程中发生错误时回调该方法,用于通知业务侧进行错误处理或兜底提示。
接口
void onError(int errorCode)
参数
参数名
类型
说明
errorCode
int
错误码,用于标识具体错误类型
返回值
类型:void
说明:无返回值,通过回调告知调用方出现异常场景。

DraftLoadingCallback

加载草稿回调。

onDraftLoadingFinished

描述
草稿加载完成时的回调方法。
在调用 loadDraft 进行草稿恢复操作结束后触发,用于通知业务侧本次草稿加载的结果状态及相关信息。
接口
void onDraftLoadingFinished(DraftLoadingResult result)
参数
参数名
类型
说明
result
草稿加载结果模型,包含本次加载是否成功及附加信息
返回值
类型:void
说明:无返回值,通过回调向调用方告知草稿加载结果。

DraftComponentObserver

草稿组件变化监听。

onComponentUpdate

描述
草稿组件变化监听回调。
当草稿中的任意一个 TAVDraftComponent 发生变化(新增、删除、更新等)时,都会触发该方法,用于通知业务侧进行 UI 刷新或状态同步。
接口
void onComponentUpdate(TAVDraftComponent component)
参数
参数名
类型
说明
component
TAVDraftComponent
发生变化的草稿组件实例
返回值
类型:void
说明:无返回值,通过回调通知外部草稿组件变更事件。

DraftLoadingResult

草稿加载结果数据模型,用于封装一次草稿加载操作过程中产生的错误信息与差异结果。

isSuccess

描述
判断本次草稿加载是否成功。
errors == nullerrors.length == 0 时视为加载成功。
接口
public boolean isSuccess()
参数
返回值
类型:boolean
说明:true 表示本次草稿加载无错误;false 表示加载过程中存在至少一个组件加载错误。

TAVEditorGenerateListener

导出视频监听。

onGenerateStarted

描述
开始导出视频任务时回调,用于通知业务层导出流程已启动(可用于更新 UI 状态,如显示加载对话框、禁用编辑操作等)。
接口
void onGenerateStarted()
参数
返回值
类型:void
说明:无返回值,仅作为导出开始的事件通知。

onGenerateProgress

描述
导出过程中的进度回调。
进度以 0-1f 的浮点数形式返回,调用频率由内部导出流程控制。
接口
void onGenerateProgress(float progress)
参数
参数名
类型
说明
progress
float
导出进度,范围为 0.0-1.0
返回值
类型:void
说明:无返回值,业务层可根据进度更新进度条等 UI。

onGenerateCompleted

描述
导出流程正常结束时回调(无论结果是成功还是失败,通常由 TAVEditorGenerateResult 中的状态字段区分)。
接口
void onGenerateCompleted(TAVEditorGenerateResult result)
参数
参数名
类型
说明
result
TAVEditorGenerateResult
导出结果数据模型,如导出文件路径、状态码等
返回值
类型:void
说明:无返回值,业务层可在该回调中处理导出结果(如保存路径、提示用户等)。

onGenerateCanceled

描述
导出任务被取消时回调(例如用户主动取消或上层逻辑中断导出流程)。
接口
void onGenerateCanceled()
参数
返回值
类型:void
说明:无返回值,业务层可在该回调中恢复 UI 状态或进行清理操作。

TAVEditorGenerateConfig

自定义导出配置总结构体,包含视频配置 VideoConfig 与音频配置 AudioConfig
用于 TAVEditor.generateVideo(TAVEditorGenerateConfig config, String outputPath, TAVEditorGenerateListener listener) 接口,实现对导出分辨率、帧率、码率、声道数等参数的精细控制。

VideoConfig

描述
视频导出配置项,用于控制导出分辨率、帧率、视频码率以及编码 Profile 等参数。
在使用 TAVEditorGenerateConfig 自定义导出配置时,通过修改该对象的字段来调整视频输出质量和时长约束。
参数
参数名
类型
说明
width
int
导出视频宽度(像素),默认值为 720。
height
int
导出视频高度(像素),默认值为 1280。
frameRate
int
导出视频帧率(FPS),默认值为 30。
videoBitRate
int
视频码率(bps,bit per second),默认值约为 720 * 1280 * 30 * 0.08,比特率因子推荐范围 0.05~0.1。
profile
VideoConfig.Profile
H.264 编码 Profile,默认 H264_BASE,可选:H264_BASE / H264_HIGH。
maxGenerateDuration
long
最大导出时长(微秒),超过该时长的内容会被裁剪;默认值为 -1 表示不限制。
minGenerateDuration
long
最小导出时长(微秒),小于该时长会报错;默认值为 -1 表示不限制。

AudioConfig

描述
音频导出配置项,控制导出音频的声道数、采样率以及音频比特率。
SDK 使用 AAC 格式进行音频编码,位深固定为 16bit。
参数
参数名
类型
说明
channelCount
int
声道数,默认值为 1,可选:单声道(1)、立体声(2)。
sampleRate
int
采样率(Hz),默认值为 44100。
audioBitRate
int
音频比特率(bps),默认值为 128000(约 128kbps);未压缩比特率 = 采样率 × 位深 × 声道数。

TAVPreviewListener

播放器预览进度监听。

onPreviewProgress

描述
预览播放进度回调。
在视频预览播放过程中被周期性调用,用于通知当前播放到的时间位置。
接口
void onPreviewProgress(long time)
参数
参数名
类型
说明
time
long
当前预览时间,单位:us(微秒)
返回值
类型:void
说明:无返回值,通过回调告知当前预览播放进度。

onStatusChanged

描述
预览播放器状态变化回调。
当预览播放器的状态(如播放、暂停、完成等)发生变化时触发,用于驱动 UI 更新或业务逻辑处理。
接口
void onStatusChanged(@Nullable TAVEditorConstants.EditorPlayerStatus status)
参数
参数名
类型
说明
status
TAVEditorConstants.EditorPlayerStatus|null
播放器当前状态;可能为 null 表示未知或未初始化
返回值
类型:void
说明:无返回值,通过回调通知预览播放器状态变化。

TAVEditorConstants

视频编辑关键类型定义。

PreviewParam

描述
短视频预览参数配置结构体。
用于在初始化编辑器预览(例如 TAVEditor.initWithPreview(PreviewParam param)TAVEditor.fork(PreviewParam param))时指定预览容器、手势层、是否自动/循环播放、渲染场景以及预览渲染尺寸等。
参数
参数名
类型
说明
videoView
FrameLayout
用于承载视频预览画面的父容器 View,内部会在该容器中创建渲染 Surface 等
contentView
TAVWidgetContentView
手势操作层 View,用于承载贴纸、画中画等可交互组件的触摸事件与显示
autoPlay
boolean
是否在预览初始化完成后自动开始播放,默认值为 true
loopPlay
boolean
是否循环播放,播放到末尾后是否自动从头开始,默认值为 true
scene
int (@RenderScene)
使用场景,默认 SCENE_PLAY
SCENE_PLAY:预览场景
SCENE_EXPORT 导出场景
renderSize
Size|null
指定渲染尺寸(宽高),若为 null 则由 SDK 根据输入素材与容器自动适配

RenderScene(SCENE_PLAY / SCENE_EXPORT)

描述
预览/渲染使用场景常量及对应注解,控制渲染链路在「预览」或「导出」场景下的行为。
参数
常量名
类型
说明
SCENE_PLAY
int
预览场景,用于编辑页面实时预览、交互渲染
SCENE_EXPORT
int
导出场景,用于离屏高质量渲染与视频导出

EditorPlayerStatus

描述
编辑器预览播放器状态枚举。
用于通过 TAVPreviewListener.onStatusChanged 回调通知业务方当前播放状态,以便更新 UI 和逻辑控制。
参数
枚举值
说明
IDLE
空闲状态,尚未准备或已释放
READY
已准备好,可调用播放
PLAYING
正在播放
STOPPED
已停止播放
PAUSED
已暂停播放
COMPLETED
播放到预设区间末尾触发完成回调
FINISHED
播放流程结束
ERROR
播放过程中发生错误
REPLAY
完成后重新开始播放(循环播放触发的状态)

GenerateLevel(视频质量级别)

描述
短视频导出质量等级常量,用于快速按预设分辨率导出视频。
通常在 TAVEditor.generateVideo(@GenerateLevel int level, ...) 中作为导出质量参数传入。
参数
常量名
类型
分辨率说明
VIDEO_LEVEL_480P
int
压缩至 480P(640×480)
VIDEO_LEVEL_540P
int
压缩至 540P(960×540)
VIDEO_LEVEL_720P
int
压缩至 720P(1280×720)
VIDEO_LEVEL_1080P
int
压缩至 1080P(1920×1080)

FillMode(画布背景填充模式)

描述
画布背景填充模式常量,用于在视频与画布比例不一致时控制背景的填充效果。
参数
常量名
类型
说明
FILL_MODE_GAUSSIAN_BLUR
int
使用高斯模糊处理背景填充
FILL_MODE_SOLID_COLOR
int
使用纯色背景填充画布

OpenGL 渲染线程常量

描述
控制渲染链路运行线程的常量,用于内部或高级用法区分预览/导出使用的 GL 线程。
参数
常量名
类型
说明
PREVIEW_GL_THREAD
int
预览渲染使用的 GL 线程
GENERATE_GL_THREAD
int
导出渲染使用的 GL 线程

TAVTemplateCode

描述
模板路径设置(如 setTemplateDir)时的错误码常量集合。
用于标识设置模板目录时的执行结果(成功/路径错误/鉴权失败等)。
参数
常量名
类型
说明
SUCCESS
int
设置模板目录成功
PATH_INVALID
int
模板目录路径无效
AUTH_INVALID
int
模板鉴权失败

导出错误码

错误码
错误信息
描述
-1
BuildRenderChainManager failed
渲染链创建异常1
-4
BuildRenderChainManager failed
渲染链创建异常2
-10
"error code ${errCode}: TAVMagic export error
导出结束过程中出现问题
-14
导出时视频帧处理异常
-15
导出时音频帧处理异常
-16
导出器初始化视频解码失败
-17
导出器初始化音频解码失败
-18
启动编码失败
-19
启动解码失败
-101
"error code ${errCode}: TAVMagic export error
启动视频编码失败
-102
启动音频编码失败
-103
视频编码信息配置失败
-104
音频编码信息配置失败
-105
Failed to create output file
创建文件失败
-111
"error code ${errCode}: TAVMagic export error
导出渲染异常1
-112
导出渲染异常2
-113
导出渲染异常3
-121
写入视频样本异常
-122
写入音频样本异常
-123
结束写入视频样本异常
-124
结束写入音频样本异常
-131
停止 muxer 异常
-132
停止编码器异常
-201
Minimum generate duration cannot exceed maximum duration
设置的最小导出时长,大于最大导出时长
-202
The total generate duration is shorter than the minimum required duration
总时长小于最小导出时长
-203
Retry software encode error. Config is null.
软编码重试失败,配置文件为空
-1001
on load asset error
加载资源异常