Skip to main content
本文档对应 SDK 2.0.0。类名:FBEngine。美妆 / 美型枚举:参数枚举。鉴权:授权与许可。

FBEngineConfig

创建时提供 appId + appKey,或 licenseToken。licenseToken 非空时走 token,不再用 appId / appKey 请求网络。

FBEngine

用 FBEngine.create 创建实例。不是进程级单例。同时只能有一台 externalContext: true 的引擎绑定到 processTexture。 美颜 / 美型 / 美妆 / 色度键 / 虚化 / clear* / setFilterIntensity 是同步的。滤镜、贴纸、背景图以及静图接口返回 Future。

皮肤

setSmoothing、setSmoothingStyle(FBSmoothingStyle)、setWhitening、setWhiteningStyle(FBWhiteningStyle)、setSharpening、setRosiness、setBeautySkinOnly(bool) — 强度 [0, 1]。

美型

setReshape(FBReshape param, double intensity) — [-1.0, 1.0]。Dart 名:FBReshape.faceThin、faceVShape、… browThickness。表格见 参数枚举。

美体

setBodyReshape(FBBodyReshape param, double intensity) — [0.0, 1.0]。Dart 名:FBBodyReshape.bodySlim … torsoLong。需先 addResourcePack 加载 resource_body.fbd。表格见 参数枚举,资源包见 可选资源包。

美妆

滤镜 / 贴纸 / 虚拟背景 / 色度键

path 与 data 互斥,必须且只能提供一个。3D 贴纸与美体见 可选资源包。

静图

要求 externalContext: false,否则抛 StateError。不要用于实时前处理视频。

可观测性

FBStats:fps、avgProcessTimeMs、sessionTimeSeconds。 FBEngineEvent:code、message、eventCode → FBEngineEventCode:

错误码

原生返回 < 0 时抛 FBException。

其他类型

  • FBBitmap — width、height、stride、pixels(RGBA8888 拷贝)
  • FBLogLevel — trace … critical

原生纹理(不经过 Dart)

以 externalContext: true create 后,在 对方 SDK 的 GL 线程上调用。同时只能绑定一台实时引擎;未 dispose 前再 create(externalContext: true) 会抛错。静图引擎(externalContext: false)不会占用这个槽。
  • iOS:[FacebetterPlugin processTexture:width:height:]
  • Android:FacebetterPlugin.processTexture(textureId, width, height)
失败返回 0。完整片段见 第三方对接。