nimeet 文档中心
English

Unreal Engine(Blueprint) 快速开始与功能指南

Unreal Engine(Blueprint):前置条件、安装、Token、加入频道、发布订阅、事件、错误处理与排障;接口名与签名在构建时取自公开 SDK 接口定义。

接口小节由公开 SDK 接口定义生成

版本 v1.1.0 · 更新于 2026-10-26 · 修订 1

Unreal Engine(Blueprint)端是同一套 C++ 引擎的蓝图暴露层:方法名首字母大写(Initialize、JoinChannelWithOptions),事件以委托形式暴露给蓝图。

前置条件

安装

text
YourGame/Plugins/NimeetRtc/…
# 重新生成工程文件 → 在 .uproject 启用 → 编辑器里出现 “Nimeet RTC” 分类节点

获取 Token

蓝图里不要硬编码 Token。推荐:登录流程拿到后端签发的 Token,存到 GameInstance 的一个字符串变量, 入会时作为 JoinChannelWithOptions 的参数传入。

加入频道

蓝图节点顺序(每个节点名都与接口定义一致):

  1. Initialize(参数:AppId、可选的日志配置)
  2. SetChannelProfile(ChannelProfileLiveBroadcasting)
  3. EnableVideo
  4. StartPreview
  5. JoinChannelWithOptions(Token、ChannelId、Uid、ChannelMediaOptions)

C++ 侧对应实现(可在自己的 Actor 里封装):

cpp
Engine->Initialize(Context);
Engine->SetChannelProfile(CHANNEL_PROFILE_LIVE_BROADCASTING);
Engine->EnableVideo();
Engine->StartPreview();
Engine->JoinChannelWithOptions(Token, ChannelId, Uid, Options);

发布与订阅

蓝图节点:MuteLocalAudioStream、MuteLocalVideoStream、EnableLocalVideo、UpdateChannelMediaOptions。 屏幕共享:GetScreenCaptureSources(返回源列表)→ StartScreenCaptureByDisplayId / StartScreenCaptureByWindowId。

事件

蓝图事件(Event 节点):

事件何时触发
OnJoinChannelSuccess入会成功
OnUserJoined远端用户加入
OnUserOffline远端用户离开
OnTokenPrivilegeWillExpire权限将过期
OnError运行时错误

错误处理

  • OnError 给出 err(声网错误号)与 msg;
  • 同步节点返回 int,负值为错误;
  • 未实现能力返回 -4(ERR_NOT_SUPPORTED),蓝图侧会看到失败而不是静默成功。

排障

现象原因处理
编辑器里找不到节点插件未启用/未编译启用插件并重新编译
打包后节点失效插件未打进包检查 Plugins 目录与打包日志
事件不触发未绑定委托在 BeginPlay 里绑定,EndPlay 解绑
远端画面空白未设置渲染 material绑定插件提供的 video surface 组件
Android 包体积过大未裁剪 ABI只保留目标 ABI

下一步

平台信息

项值
平台Unreal Engine(Blueprint)
语言Blueprint / C++
SDK 包NimeetRtcBlueprint
接口版本4.5.1
兼容参考声网 unreal-blueprint 端 API

本端公开接口与声网 unreal-blueprint 端 API 对齐;安装与运行要求见上面前置条件。

可用性

该端 SDK:正式可用。本页代码片段使用公开 API;运行时的能力边界以实际发布的 SDK 包为准。

加入频道链路

下列方法名、参数类型与返回值与同端 API 参考一致。一个平台若有多个重载,这里展示最常用的那一个;完整重载见同端 API 参考页。

步骤接口方法重载数
加入频道__unattributed__JoinChannel1
离开频道__unattributed__LeaveChannel1
开启视频与本地预览IRtcEngineEnableVideo1
创建实例 / 初始化IRtcEngineInitialize1
订阅远端媒体IRtcEngineMuteRemoteAudioStream1
续期 TokenIRtcEngineRenewToken1
频道场景IRtcEngineSetChannelProfile1
切换角色IRtcEngineSetClientRole1
绑定本地画面IRtcEngineSetupLocalVideo1
typescript
JoinChannel(token: const FString&, channelId: const FString&, uid: int64): int
LeaveChannel(): int
EnableVideo(): int
Initialize(context: const FRtcEngineContext&): int
MuteRemoteAudioStream(uid: int64, mute: bool): int
RenewToken(token: const FString&): int
SetChannelProfile(profile: ECHANNEL_PROFILE_TYPE): int
SetClientRole(options: FClientRoleOptions, clientroletype?: ECLIENT_ROLE_TYPE): int
SetupLocalVideo(canvas: const FVideoCanvas&): int

事件与回调

该端 SDK 没有事件回调。

错误码

常量值
VT_ERR_INTERNAL20
VT_ERR_INVALID_IMAGE_PATH3
VT_ERR_INVALID_LAYOUT5
VT_ERR_INVALID_VIDEO_SOURCE_TYPE2
VT_ERR_UNSUPPORT_IMAGE_FORMAT4
VT_ERR_VIDEO_SOURCE_NOT_READY1

平台 REST 层用 REST 错误码;SDK 层把连接/鉴权失败映射成声网错误号,映射表见 各端 SDK 错误标识。

本页由文档构建流水线生成 · 2026-10-31 01:24:02 UTC · 文档中心 v1.1.0.

内容依据公开 API 定义.

ni-meet 是自建 RTC PaaS,媒体面基于 LiveKit(Apache-2.0),并与声网 API 兼容。