集成并初始化 SDK

更新时间: 2024/07/15 10:12:20

本文介绍 Windows&macOS 端快速集成并初始化 NERoom SDK 的操作步骤,帮助您快速集成并初始化 NERoom SDK。

开发环境要求

名称 要求
IDE Visual Studio 2017及以上 or Xcode 11.3.1及以上
OS Windows7及以上 or macOS 10.14及以上

前提条件

SDK 引入

Windows 开发环境配置

  1. 单击下载 NERoom Windows C++ SDK(64位)NERoom Windows C++ SDK(32位)

    下载完成后,Windows SDK 目录结构如下:

    ├─bin     包含 SDK 的二进制文件
    ├─include 您需要引入的头文件目录
    └─lib     您需要引入的依赖库文件
    

    库文件的说明如下表所示。您可以根据您需要集成的能力,引入对应的库文件。

    功能/插件 动态库
    所有能力 所有 dll 动态库
    基础功能
    • nertc_sdk.dll
    • protoopp.dll
    • SDL2.dll
    • nim.dll
    • nim_chatroom.dll
    • protoopp.dll
    • roomkit.dll
    • roomkitd.dll(Debug 版本)
    • h_available.dll
    美颜
    • 美颜库:NERtcBeauty.dll
    • 人脸检测库:NERtcFaceDetect.dll
    • 机器学习库:NERtcnn.dll
    虚拟背景
    • 虚拟背景库:NERtcPersonSegment.dll
    • 机器学习库:NERtcnn.dll
    音频 AI 降噪 AI 降噪库:NERtcAiDenoise.dll
    AI 啸叫检测
    • AI 啸叫检测库:NERtcAiHowling.dll
    • 机器学习库:NERtcnn.dll
    人脸增强
    • 人脸增强库:NERtcFaceEnhance.dll
    • 机器学习库:NERtcnn.dll
    视频降噪 视频降噪库:NERtcVideoDenoise.dll
    视频 AI 超分 视频 AI 超分库:NERtcSuperResolution.dll
    屏幕增强
    • 屏幕增强库:NERtcScreenShareEnhance.dll
    • 机器学习库:NERtcnn.dll
  2. 将 bin 目录设置为项目的依赖目录,或放置与您已有项目的可搜索环境变量中、将 include 文件夹添加为项目的头文件搜索路径、将 lib 文件夹添加为项目的库文件搜索路径并引入库文件到项目中。以下为Qt5 Qmake配置示例:

    win32 {
        DEPENDPATH += $$PWD/bin
        INCLUDEPATH += $$PWD/include
        LIBS += -L$$PWD/lib -lroomkit
    }
    

macOS 开发环境配置

  1. 单击下载 NERoom macOS C++ SDK

    macOS SDK 目录结构如下:

    ├─include       您需要引入的头文件目录
    ├─lib           包含 SDK 所需的 frameworkdylib文件
    ├─resource      基础美颜资源文件 
    ├─resources     美颜滤镜、贴图等高级资源文件
    └─tests         库的单元测试执行程序及集成测试执行程序,用于验证功能稳定性
    
  2. 根据您需要集成的能力,选择对应的 XX.framework 文件,并引入到您的工程中,以下为 Qt5 Qmake 配置示例:

    macx {
        INCLUDEPATH += $$PWD/roomkit/include
        # 如果是 debug 调试,请链接 libroomkitd.dylib,以下为 release 示例
        LIBS += -L$$PWD/roomkit/lib -lroomkit
    
        DESTDIR  = $$PWD/bin
        DEPENDPATH += $$PWD/bin
    
        # 如果是 debug 调试,请拷贝打包 libroomkitd.dylib,以下为 release 示例
        ROOM_KIT_FRAMEWORK.files = $$PWD/roomkit/lib/libroomkit.dylib \
                                $$PWD/roomkit/lib/nertc_sdk_Mac.framework \
                                $$PWD/roomkit/lib/NERtcAiHowling.framework \
                                $$PWD/roomkit/lib/NERtcFaceDetect.framework \
                                $$PWD/roomkit/lib/NERtcVideoDenoise.framework \
                                $$PWD/roomkit/lib/NERtcFaceEnhance.framework \
                                $$PWD/roomkit/lib/NERtcPersonSegment.framework \
                                $$PWD/roomkit/lib/NERtcnn.framework \
                                $$PWD/roomkit/lib/NERtcBeauty.framework \
                                $$PWD/roomkit/lib/NERtcAiDenoise.framework \
                                $$PWD/roomkit/lib/NERtcScreenShareEnhance.framework \
                                $$PWD/roomkit/lib/libnim_chatroom.dylib \
                                $$PWD/roomkit/lib/libh_available.dylib \
                                $$PWD/roomkit/lib/libnim.dylib \
        ROOM_KIT_FRAMEWORK.path = /Contents/Frameworks
        QMAKE_BUNDLE_DATA += ROOM_KIT_FRAMEWORK
    }
    
    功能/插件 framework 动态库
    所有能力 所有 framework 动态库
    音视频
    • libroomkit.dylib
    • nertc_sdk_Mac.framework
    美颜
    • 美颜库:NERtcBeauty.framework
    • 人脸检测库:NERtcFaceDetect.framework
    • 机器学习库:NERtcnn.framework
    虚拟背景
    • 虚拟背景库:NERtcPersonSegment.framework
    • 机器学习库:NERtcnn.framework
    音频 AI 降噪 AI 降噪库:NERtcAiDenoise.framework
    AI 啸叫检测
    • AI 啸叫检测库:NERtcAiHowling.framework
    • 机器学习库:NERtcnn.framework
    人脸增强
    • 人脸增强库:NERtcFaceEnhance.framework
    • 机器学习库:NERtcnn.framework
    视频降噪 视频降噪库:NERtcVideoDenoise.framework
    屏幕增强
    • 屏幕增强库:NERtcScreenShareEnhance.framework
    • 机器学习库:NERtcnn.framework

初始化

创建 NERoom 实例

createNERoomKit()

销毁 NERoom 实例

destroyNERoomKit()

实现初始化功能的示例代码如下:

auto roomkit =createNERoomKit();
NERoomKitOptions options;
options.appKey = "you appkey";
options.logPath = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation).toStdString().append("/Netease/RoomkitSample");
options.logLevel = NEVERBOSE;
roomkit->initialize(options, [&bInit](int errorCode, const std::string& errorMsg){
});
此文档是否对你有帮助?
有帮助
去反馈
  • 开发环境要求
  • 前提条件
  • SDK 引入
  • Windows 开发环境配置
  • macOS 开发环境配置
  • 初始化