Skip to main content

日志相关

日志级别

日志级别枚举,用于控制日志输出级别。

日志配置类

日志配置类,用于配置日志输出方式和级别。 字段说明:
  • consoleEnabled: 是否启用控制台输出
  • fileEnabled: 是否启用文件输出
  • level: 日志级别
  • fileName: 日志文件路径(仅在 fileEnabledtrue 时有效)

引擎相关

引擎配置

引擎配置类,用于初始化美颜引擎。 字段说明:
  • appId: 应用 ID(可选,如果提供了 licenseJson 则不需要)
  • appKey: 应用密钥(可选,如果提供了 licenseJson 则不需要)
  • licenseJson: 授权数据 JSON 字符串(可选,如果提供了则优先使用,不需要 appIdappKey
  • externalContext: 是否使用外部 OpenGL 上下文(默认 false
    • true: 使用调用方提供的 GL 上下文,SDK 不再创建/管理内部上下文
    • false: 使用内部默认上下文
方法:
  • isValid(): 验证配置是否有效
    • 如果提供了 licenseJson,则使用授权数据验证
    • 否则需要 appIdappKey 进行自动联网验证
验证方式优先级:
  • 如果 licenseJson 不为空,使用授权数据验证(支持在线响应和离线授权)
  • 否则使用 appIdappKey 进行自动联网验证

引擎接口

美颜效果引擎主类,提供美颜功能的入口。 静态方法:
  • setLogConfig(LogConfig config): 设置日志配置
实例方法:

初始化与释放

  • BeautyEffectEngine(Context context, EngineConfig config): 构造函数,创建引擎实例
  • void release(): 释放引擎资源

参数设置

  • int setBeautyParam(BasicParam param, float value): 设置基础美颜参数(范围 0.0 - 1.0)
  • int setBeautyParam(ReshapeParam param, float value): 设置面部重塑参数(范围 0.0 - 1.0)
  • int setBeautyParam(MakeupParam param, float value): 设置美妆参数(范围 0.0 - 1.0)
  • int setLipstickStyle(LipstickStyle style): 设置口红样式(Rouge / Coral / Pink)
  • int setBlushStyle(BlushStyle style): 设置腮红样式(Classic / Peach / Rose)
  • int setSkinOnlyBeauty(boolean enabled): 设置美颜是否仅作用于皮肤区域
    • 参数:enabledtrue 时启用皮肤区域美颜,为 false 时美颜作用于整张图像
    • 返回值:0 表示成功,-1 表示引擎未初始化
  • int setVirtualBackground(VirtualBackgroundOptions options): 设置虚拟背景
    • 参数:VirtualBackgroundOptions 对象,包含背景模式和背景图片
    • 返回值:0 表示成功,-1 表示引擎未初始化,-2 表示参数无效(options 为 null 或无效)

滤镜与贴纸管理

  • int setFilter(String filterId): 设置滤镜
    • 参数:filterId 滤镜唯一标识符
  • int setFilterIntensity(float intensity): 设置滤镜强度
    • 参数:intensity 强度值(范围 0.0 - 1.0)
  • int setSticker(String stickerId): 设置贴纸
    • 参数:stickerId 贴纸唯一标识符,传入空字符串可清除贴纸
  • int registerFilter(String filterId, String fbdFilePath): 从文件注册滤镜
  • int registerFilter(String filterId, byte[] fbdData): 从内存注册滤镜
  • int registerSticker(String stickerId, String fbdFilePath): 从文件注册贴纸
  • int registerSticker(String stickerId, byte[] fbdData): 从内存注册贴纸
  • int unregisterFilter(String filterId): 卸载滤镜
  • int unregisterAllFilters(): 卸载所有滤镜
  • int unregisterSticker(String stickerId): 卸载贴纸
  • int unregisterAllStickers(): 卸载所有贴纸
  • String[] getRegisteredFilters(): 获取已注册滤镜列表
  • String[] getRegisteredStickers(): 获取已注册贴纸列表

回调

  • void setEngineEventCallback(OnEngineEventCallback callback): 设置引擎事件回调,用于监听授权验证和引擎初始化状态
    • 回调提供:int code(事件码)、String message(事件描述)
    • 代码 0 表示成功,非零表示失败

图像处理

  • ImageFrame processImage(ImageFrame inputFrame): 处理图像帧
    • 帧类型通过 inputFrame.type 字段获取(FrameType.IMAGEFrameType.VIDEO
    • 处理后的图像帧会保持相同的帧类型
返回值说明:
  • 方法返回 int 类型:
    • 0 表示成功
    • -1 表示引擎未初始化
    • -2 表示参数无效(仅 setVirtualBackground 方法)
  • processImage 返回 ImageFrame:处理后的图像帧,失败时返回 null

美颜参数

美颜参数枚举类,包含所有美颜相关的参数类型定义。

美颜类型

定义可用的美颜功能类型。

基础美颜参数

基础美颜效果的参数类型,所有参数值范围均为 0.0 - 1.0

面部重塑参数

面部重塑效果的参数类型,所有参数值范围均为 0.0 - 1.0

美妆参数

美妆效果的参数类型,所有参数值范围均为 0.0 - 1.0

口红样式

腮红样式

虚拟背景选项

虚拟背景效果的配置选项。

图像相关

ImageFrame

图像帧类,用于封装图像数据和处理。 创建方法:
  • createWithFile(String filePath): 从文件创建(支持 PNG、JPG)
  • createWithRGBA(ByteBuffer data, int width, int height, int stride): 从 RGBA 数据创建
  • createWithBGRA(ByteBuffer data, int width, int height, int stride): 从 BGRA 数据创建
  • createWithRGB(ByteBuffer data, int width, int height, int stride): 从 RGB 数据创建
  • createWithBGR(ByteBuffer data, int width, int height, int stride): 从 BGR 数据创建
  • createWithI420(...): 从 I420 YUV 数据创建
  • createWithNV12(...): 从 NV12 YUV 数据创建
  • createWithNV21(...): 从 NV21 YUV 数据创建
  • createWithAndroid420(...): 从 Android Camera2 YUV_420_888 格式创建
  • createWithTexture(int texture, int width, int height, int stride): 从 GPU 纹理创建(外部纹理输入)
  • createWithBitmap(Bitmap bitmap): 从 Android Bitmap 创建(Android 专用)
图像操作:
  • int rotate(Rotation rotation): 旋转图像(返回 0 表示成功)
  • int mirror(String mode): 镜像图像(返回 0 表示成功)
    • 参数:mode 镜像模式,可以是 “horizontal”(水平)、“vertical”(垂直)或 “both”(两者)(不区分大小写)
  • void setMirror(String mode): 设置引擎处理时的镜像模式(避免额外的格式转换)
    • 参数:mode 镜像模式,可以是 “horizontal”(水平)、“vertical”(垂直)或 “both”(两者)(不区分大小写)
    • 注意:这仅设置镜像标志,实际的镜像发生在引擎处理期间
  • ImageFrame convert(Format format): 格式转换方法,返回转换后的 ImageFrame
  • int toFile(String path, int quality): 保存图像到文件(指定质量 1-100)
  • int toFile(String path): 保存图像到文件(使用默认质量 90)
  • boolean isValid(): 检查图像帧是否有效
属性访问:
  • int getWidth(), int getHeight(): 获取图像宽高
  • int getStride(), int getSize(): 获取图像步长和大小
  • Format getFormat(): 获取图像格式
  • int getTexture(): 获取纹理句柄(如果是纹理格式)
  • FrameType type: 帧类型(FrameType.IMAGEFrameType.VIDEO),默认值为 FrameType.VIDEO
数据访问:
  • ByteBuffer getData(): 获取原始数据(单平面格式)
  • ByteBuffer getDataY(), getDataU(), getDataV(): 获取 YUV 分量数据
  • ByteBuffer getDataUV(): 获取 UV 平面数据(NV12/NV21)
  • int getStrideY(), getStrideU(), getStrideV(), getStrideUV(): 获取 YUV 步长
  • convert(Format format): 格式转换方法,返回转换后的 ImageFrame
资源管理:
  • void release(): 释放 native 资源

枚举类型

Format

图像格式枚举。

Rotation

图像旋转角度枚举。

已废弃接口 (Deprecated APIs)

已弃用以下接口已弃用。请使用参数驱动接口(如 setBeautyParam)替代。

美颜类型控制

  • int enableBeautyType(BeautyType type, boolean enabled)
    • 说明: [已弃用] 启用或禁用美颜类型(参数驱动模式下无效果)
    • 返回值: 0 表示成功
  • boolean isBeautyTypeEnabled(BeautyType type)
    • 说明: [已弃用] 检查美颜类型是否已启用(始终返回 false)
    • 返回值: false
  • int disableAllBeautyTypes()
    • 说明: [已弃用] 禁用所有美颜类型(请通过置零参数重置效果)
    • 返回值: 0 表示成功