Unreal Engine 音视频通话示例源码

Unreal Engine,又名虚幻引擎(UE),它是由 Epic Games 开发,业界最强大且使用最广泛的游戏引擎之一。对于希望在 Unreal Engine 添加实时音视频通话或聊天以及游戏内提醒等实时功能的开发者,Unreal Engine 可与即构音视频 SDK 集成。本文介绍如何快速跑通示例源码,体验基础的音频/音视频通话服务。

准备环境

请确保开发环境满足以下技术要求:

  • 安装 Unreal Engine 4.25 或以上版本。安装完成后,可根据需要配置选项。
Unreal Engine 音视频通话示例源码
  • 根据示例代码需要运行到的平台,选择对应的开发环境或设备:
    • 运行 Android 示例源码要求:Android 5.0 或以上版本,且支持音视频的 Android 设备或模拟器(推荐使用真机),如果是真机,请开启“允许调试”选项,详情请参考 Android 开发要求
    • 运行 iOS 示例源码要求:Xcode 15.0 或以上版本,iOS 12.0 或以上版本且支持音视频的 iOS 设备或模拟器(推荐使用真机)。
    • 运行 macOS 示例源码要求:macOS 11 或以上版本,且支持音视频的 macOS 设备。注意:Unreal Engine 4.25 版本,与 M1 或以上系列处理器的 macOS 系统不兼容。
    • 运行 Windows 示例源码要求:Windows 7 或以上版本,且支持音视频的 Windows 设备,并安装了 Visual Studio 2019 或以上版本,详情请参考 硬件和软件规格
    • 确保所运行设备网络连接正常。

前提条件

已在 ZEGO 控制台 创建项目,并申请有效的 AppID 和 AppSign,详情请参考 控制台 – 项目管理 中的“项目信息”。

示例源码目录结构

下列结构为工程目录的文件结构,下文所涉及的文件路径均为相对于此目录的路径。

.
├─ 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 工程文件

运行示例源码

1. 下载的示例源码中缺少 SDK,需要先 下载 SDK,并解压。请参考 集成 SDK 的 “导入 SDK”,将解压后的 SDK 包拷贝到工程的 “Plugins” 目录下,如下图所示:

Unreal Engine 音视频通话示例源码

2. 修改 “/Source/KeyCenter.cpp” 文件,填写 SDK 初始化所需的 “AppID” 和 “AppSign”。请使用本文前提条件已获取的 AppID 和 AppSign 正确填写,否则示例源码无法正常运行。

Unreal Engine 音视频通话示例源码

3. 打开工程。打开 Epic Games Laucher,选择编辑器版本,启动编辑器:

Unreal Engine 音视频通话示例源码

使用 Unreal Engine Editor 打开 “./ZegoExpressExample.uproject” 文件,首次打开会自动编译工程源码:

Unreal Engine 音视频通话示例源码
Unreal Engine 音视频通话示例源码
Unreal Engine 音视频通话示例源码

自动编译完成后,选择菜单 “编辑 > 插件”,确认勾选了 “ZegoExpressSDKPlugin” 文件:

Unreal Engine 音视频通话示例源码

4. 开始运行。

运行到 Android 平台为例:

  • 完成设置后,连接 Android 设备,打开 USB 调试功能,选择菜单 “平台 > 设备管理器”,确保设备已连接:
Unreal Engine 音视频通话示例源码
Unreal Engine 音视频通话示例源码
  • 选择菜单 “平台 > 项目启动程序”,启动设备描述文件,开始运行。
Unreal Engine 音视频通话示例源码
Unreal Engine 音视频通话示例源码

在真机中运行项目,运行成功后,可以看到本端视频画面。

另外运行到 iOS/macOS、Windows 平台这里不再举例,可以参考开发文档:https://doc-zh.zego.im/article/18086

本文为原创稿件,版权归作者所有,如需转载,请注明出处:https://www.nxrte.com/jishu/yinshipin/51933.html

(0)

相关推荐

发表回复

登录后才能评论