Skip to main content

返回值约定

SDK 中大多数方法返回 int 类型: BeautyEffectEngine::Create() 返回 std::shared_ptr,失败时返回 nullptr

常见错误与处理

1. 引擎创建失败(Create 返回 nullptr

可能原因
  • app_id / app_key 错误或未激活
  • resource_path 指向的 resource.fbd 文件不存在或路径错误
  • facebetter.dll 未找到或版本不匹配
  • 网络不通(在线验证失败)
排查方法
常见解决方法
  1. 确认 resource.fbd 路径正确,可使用绝对路径排除相对路径问题:
  2. 确认 facebetter.dll 与可执行文件在同一目录(CMake 构建时自动复制)。
  3. 从控制台获取最新的 app_idapp_key 重试。

2. facebetter.dll 运行时加载失败

错误信息:启动时弹窗 “找不到 facebetter.dll” 或类似提示。 解决方法
或重新执行 cmake --build build,CMake 构建后会自动复制 DLL。

3. ProcessImage 返回 nullptr

可能原因
  • 输入 ImageFrame 为空指针(文件不存在、格式不支持等)
  • 引擎尚未成功初始化
  • 内存不足
处理方法

4. 美颜效果不生效

可能原因
  • 对应 BeautyType 未通过 SetBeautyTypeEnabled 启用
  • 参数值设为 0(等同关闭)
  • 输入帧未检测到人脸(美型/美妆需要人脸检测通过)
排查示例

5. SetBeautyParam 返回非 0

可能原因
  • 引擎未初始化(enginenullptr
  • 参数值超出范围 [0.0, 1.0]
处理方法

6. OpenGL / 显示异常

可能原因
  • GLFW 初始化失败(驱动问题或无 OpenGL 3.0+ 支持)
  • gladLoadGLLoader 失败
排查方法
确认显卡驱动已更新,或在虚拟机/远程桌面环境中可能不支持硬件 OpenGL。

日志调试

开发阶段建议打开 Debug 级别日志:
日志文件默认写入可执行文件同目录下的 facebetter.log

错误码速查