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。完整片段见 第三方对接。
