跑通示例源码
示例源码运行指引
本文介绍如何快速跑通示例源码,体验基础的音频/音视频通话服务。
准备环境
请确保开发环境满足以下技术要求:
-
安装 Unreal Engine 4.25 或以上版本。您可以在 下载启动程序 下载 Epic Games Launcher,然后参考 安装虚幻引擎 安装您需要的 Unreal Engine 版本:
安装完成后,可根据需要配置选项:
-
根据示例代码需要运行到的平台,选择对应的开发环境或设备:
- 运行 Android 示例源码要求:Android 5.0 或以上版本,且支持音视频的 Android 设备或模拟器(推荐使用真机),如果是真机,请开启“允许调试”选项,详情请参考 Android 开发要求。
- 运行 iOS 示例源码要求:Xcode 15.0 或以上版本,iOS 12.0 或以上版本且支持音视频的 iOS 设备或模拟器(推荐使用真机),详情请参考 iOS 和 TVOS 开发要求。
- 运行 macOS 示例源码要求:macOS 11 或以上版本,且支持音视频的 macOS 设备,详情请参考 硬件和软件规格。
- 运行 Windows 示例源码要求:Windows 7 或以上版本,且支持音视频的 Windows 设备,并安装了 Visual Studio 2019 或以上版本,详情请参考 硬件和软件规格。
- 确保所运行设备网络连接正常。
Unreal Engine 4.25 版本,与 M1 或以上系列处理器的 macOS 系统不兼容。
前提条件
已在 ZEGO 控制台 创建项目,并申请有效的 AppID 和 AppSign,详情请参考 控制台 - 项目管理 中的“项目信息”。
SDK 同时也支持 Token 鉴权,若您需要升级鉴权方式,可参考 如何从 AppSign 鉴权升级为 Token 鉴权。
获取示例源码
本地下载
示例源码目录结构
下列结构为工程目录的文件结构,下文所涉及的文件路径均为相对于此目录的路径。
.
├─ Config # Unreal 配置文件夹
│ ├─ DefaultEditor.ini # Unreal Engine Editor 默认配置
│ ├─ DefaultEngine.ini # Unreal Engine 默认配置
│ └─ DefaultGame.ini # Unreal Engine 游戏默认配置
├─ Content
│ └─ ZegoExpressExample # 关卡、蓝图文件
│ ├─ AdvancedAudioProcessing
│ │ └─ RangeAudio
│ │ ├─ BP_RangeAudio.uasset
│ │ └─ RangeAudioMap.umap
│ ├─ Blueprints
│ │ ├─ BP_MainWidget.uasset
│ │ ├─ BP_ZegoActor.uasset
│ │ ├─ BP_ZegoExpressExampleGameModeBase.uasset
│ │ ├─ BP_ZegoTileViewEntry.uasset
│ │ └─ ZegoUserWidgetEntry.uasset
│ ├─ MainMap.umap
│ └─ QuickStart
│ └─ CommonUsage
│ ├─ BP_CommonUsageWidget.uasset
│ └─ CommonUsageMap.umap
├─ Plugins # SDK 插件
|
├─ README.md
├─ README_zh.md
├─ Source # 源文件
│ ├─ ZegoExpressExample
│ │ ├─ AdvancedAudioProcessing
│ │ ├─ android_permission.xml
│ │ ├─ Config
│ │ ├─ EventHandler
│ │ ├─ KeyCenter.cpp # 填写申请的 AppID 和 AppSign
│ │ ├─ KeyCenter.h
│ │ ├─ LevelSwitchItem.cpp
│ │ ├─ LevelSwitchItem.h
│ │ ├─ QuickStart
│ │ ├─ Utils
│ │ ├─ ZegoActor.cpp
│ │ ├─ ZegoActor.h
│ │ ├─ ZegoExpressExample.Build.cs # build 文件
│ │ ├─ ZegoExpressExample.cpp
│ │ ├─ ZegoExpressExample.h
│ │ ├─ ZegoExpressExampleGameModeBase.cpp
│ │ ├─ ZegoExpressExampleGameModeBase.h
│ │ ├─ ZegoLevelScriptActor.cpp
│ │ ├─ ZegoLevelScriptActor.h
│ │ ├─ ZegoMainUserWidget.cpp
│ │ ├─ ZegoMainUserWidget.h
│ │ ├─ ZegoUserWidget.cpp
│ │ └─ ZegoUserWidget.h
│ ├─ ZegoExpressExample.Target.cs # target 文件
│ └─ ZegoExpressExampleEditor.Target.cs # editor target 文件
└─ ZegoExpressExample.uproject # Unreal 工程文件
运行示例源码
-
下载的示例源码中缺少 SDK,需要先 下载 SDK,并解压。
请参考 集成 SDK 的 “导入 SDK”,将解压后的 SDK 包拷贝到工程的 “Plugins” 目录下,如下图所示:
-
修改 “/Source/KeyCenter.cpp” 文件,填写 SDK 初始化所需的 “AppID” 和 “AppSign”。请使用本文 前提条件 已获取的 AppID 和 AppSign 正确填写,否则示例源码无法正常运行。
-
打开工程。打开 Epic Games Laucher,选择编辑器版本,启动编辑器:
使用 Unreal Engine Editor 打开 “./ZegoExpressExample.uproject” 文件,首次打开会自动编译工程源码:
自动编译完成后,选择菜单 “编辑 > 插件”,确认勾选了 “ZegoExpressSDKPlugin” 文件:
-
开始运行。
-
请参考 设置 Android SDK 和 NDK,设置 Android 开发环境。
-
完成设置后,连接 Android 设备,打开 USB 调试功能,选择菜单 “平台 > 设备管理器”,确保设备已连接:
-
选择菜单 “平台 > 项目启动程序”,启动设备描述文件,开始运行。
-
选择菜单 “平台 > 打包设置”。
-
在左侧导航栏中选择 “iOS”,在 “Build” 选项中,勾选 “Automatic Signing”,并输入您的 “IOS团队ID”。
-
选择菜单 “平台 > iOS > 打包项目”。
-
在弹出的对话框中,双击打开 “Intermediate/ProjectFilesIOS” 目录下的 “ZegoExpressExample.xcodeproj” 工程。
-
连接 iOS 设备,使用 XCode 编译运行到设备。
-
选择菜单 “平台 > 项目启动程序”,启动设备描述文件。
-
选择菜单 “平台 > Mac > 打包项目”。
-
打包完成后,手动将插件中的 “libZegoExpressEngine.dylib” 库,拷贝到“Contents/MacOS”目录下:
-
双击打开 “Contents” 目录下的 “info.plist” 文件,使用 XCode 编辑,添加摄像头、麦克风权限:
-
双击运行打包好的 “ZegoExpressExample” 程序。
注意事项
在 macOS 平台上,如果在 Unreal Engine Editor 中直接运行源码崩溃,需要给 Unreal Engine Editor 添加摄像头麦克风权限。
- 如果您使用的是 Unreal Engine 4.25 ~ 4.27 版本,请编辑 “/UE_4.27/Engine/Mac/UEEditor/info.plist” 文件。
- 如果您使用的是 Unreal Engine 5.0 或以上版本,请编辑 “/UE_5.2/Engine/Source/Runtime/Launch/Resources/Mac/Info.plist”、“/UE_5.2/Engine/Source/Runtime/Launch/Resources/Mac/Info-Editor.plist” 文件。
在上述文件中,添加摄像头麦克风权限:

体验音视频通话/直播功能
在真机中运行项目,运行成功后,可以看到本端视频画面。
为方便体验,ZEGO 提供了一个 Web 端调试示例 ,在该页面下,输入相同的 AppID、RoomID,输入不同的 UserID、以及对应的 Token,即可加入同一房间与真机设备互通。当成功开始音视频通话时,可以听到远端的音频,看到远端的视频画面。