ZEGO即构科技提供Unity3D实时语音SDK接入,开发者可快速实现一对一、多对多的实时音频通话、直播等场景。SDK游戏语音模块,包括:范围语音、3D 音效、小队语音。适用于吃鸡类游戏、元宇宙类场景,功能非常强大。
为大家对ZEGO Unity3D实时语音SDK有个直观了解,我们提供了示例源码,今天为大家分享的就是示例源码跑通流程。
示例源码下载地址:https://storage.zego.im/express/example/video/unity3d/ZegoExpressDemo_unity3d.zip
示例代码运行指引
准备环境
请确保开发环境满足以下技术要求:
安装 Unity 2018.4.21f1 或以上版本。若未安装,可以在 Unity 官网 下载 Unity Hub,然后安装您需要的 Unity 版本(若不清楚,建议您安装最新的 LTS 版本)。下载时,推荐根据自身需要运行到的平台,勾选对应的 Plaforms 模块一起下载,以在 macOS 上安装为例:
根据示例代码需要运行到的平台,选择对应的开发环境或设备:
- 运行 Android 示例源码要求:Android 版本不低于 4.4,且支持音视频的 Android 设备或模拟器(推荐使用真机),如果是真机,请开启“允许调试”选项。
- 运行 iOS 示例源码要求:Xcode 13.0 或以上版本,iOS 9.0 或以上版本且支持音视频的 iOS 设备或模拟器(推荐使用真机)。
- 运行 macOS 示例源码要求:macOS 10.11 或以上版本,且支持音视频的 macOS 设备。
- 运行 Windows 示例源码要求:Windows 7 或以上版本,且支持音视频的 Windows 设备;并安装了 Visual Studio 2015 或以上版本。
- 运行 Linux 示例源码要求:任意具有 GLIBC 2.16 或以上版本的 Linux 发行版系统(目前仅支持 x86_64 架构),libasound(ALSA),libv4l2(v4l utils),CMake 3.7 或以上版本。
- 确保所运行设备网络连接正常。
- 确保 Unity 已经安装了需要运行到的平台所对应的 Platfroms 模块。若已经安装 Unity,但没有安装相关 Platroms 模块,需要下载对应模块,以在 macOS 上安装为例:打开 Unity Hub,单击左侧的“安装”选项,选择需要安装的 Unity 版本,单击右上角图标选择 “添加模块” 选项,即可勾选并下载对应模块。
前提条件
已在 ZEGO 控制台 创建项目,并申请有效的 AppID 和 AppSign,详情请参考 控制台 – 项目管理 中的“项目信息”。
示例源码目录结构
下列结构为工程目录的文件结构,下文所涉及的文件路径均为相对于此目录的路径。
unity3d
├── Assets
│ ├── Resources # prefab 资源文件
│ ├── Scenes # 示例场景
│ ├── Scripts # SDK 脚本
│ │ ├── native # C 接口导入层
│ │ ├── videoRender # 自定义视频渲染模块
│ │ ├── ... # 接口封装
│ ├── StreamingAssets # 资源文件
│ ├── ZegoExpressExample # 示例脚本
│ │ ├── Examples # 示例脚本
│ │ ├── Utils # 工具类
│ │ ├── KeyCenter.cs # 填写申请的 AppID 和 AppSign
│ │ ├── ZegoExpressExample.cs
├── Packages # Unity 依赖库
├── ProjectSettings
运行示例代码
- 下载的示例源码中缺少 SDK,需要先 下载 SDK 包,并解压。 参考 集成 SDK 文档,将解压后的 SDK 包拷贝到工程的 “Assets” 目录下;并根据要运行的平台做额外的处理,否则 App 会构建失败。如下图所示:
2. 示例源码中缺少 SDK 初始化所需的 “appID” 和 “appSign”,需要修改 “Assets/ZegoExpressExample/KeyCenter.cs” 文件,请使用本文前提条件已获取的 AppID 和 AppSign 正确填写,否则示例源码无法正常运行。
3. 点击 Unity Hub 的 “Projects” 选项卡,单击右上角 “Open”,选择示例源码所在目录。
4. 打开后,可能会弹出提示:“Editor version not installed”,找不到示例源码工程使用的 Unity Editor 版本。此时,选择其它 Unity Editor 版本,并指定您正在使用的 Unity 版本即可。
5. 打开工程后,选择左下角 “Project > Assets > Scenes” 目录下的 “HomePage”,双击,然后选择 “Game” 选项卡,可以看到示例源码主页的场景。
6. 在上方菜单栏,选择 “File > Build Settings”。
7. 在 “Platform” 中选择平台,并在右下角单击 “Switch Platform”,切换需要运行的平台。
8. 开始运行。
- 运行到 Android 设备: a. 参考步骤 7,将 “Platform” 切换到 “Android” 平台,单击 “Player Settings”,设置包名等配置。
- b. 完成设置后,连接 Android 设备并单击 “Build And Run”。
- 运行到 iOS 设备: a. 参考步骤 7,将 “Platform” 切换到 “iOS” 平台,单击 “Build” 将 iOS 工程保存到本地,通过 Xcode 打开本地工程。 b. 在打开的 Xcode 工程中,打开 “Unity-iPhone” Target 的 “Signing & Capabilities” 选项卡,首先确保勾选 “Automatically manage signing”,然后切换 “Team” 为自己的 Team,再修改 “Bundle Identifier” 为自定义的 Bundle ID。
- c. 选择 “Info.plist” 文件,添加摄像头和麦克风权限。
- d. 点击 Run 按钮运行示例 Demo。 请注意,在运行到 iOS 设备时,如果出现如下报错:
no suitable image found. Did find:
/private/var/containers/Bundle/Application/3CC0EE65-89C9-45F5-8E22-A4AC194DF260/hello.app/Frameworks/UnityFramework.framework/Frameworks/ZegoExpressEngine.framework/ZegoExpressEngine: code signature in (/private/var/containers/Bundle/Application/3CC0EE65-89C9-45F5-8E22-A4AC194DF260/hello.app/Frameworks/UnityFramework.framework/Frameworks/ZegoExpressEngine.framework/ZegoExpressEngine) not valid for use in process using Library Validation: mapped file has no cdhash, completely unsigned? Code has to be at least ad-hoc signed.
可参考 集成 SDK 中关于导出 iOS Xcode 工程集成 ZegoExpressEngine.framework 的问题处理该报错。
运行到 macOS 设备:
a. 参考步骤 7,将 “Platform” 切换到 “macOS” 平台,选择好要构建的架构,比如 Intel + Apple silicon,然后点击 “Build” 生成 App 到本地。
b. 生成 macOS 上的一个应用后,双击即可运行。
运行到 Windows 设备:
a. 参考步骤 7,将 “Platform” 切换到 “Windows” 平台,选择好要构建的架构,注意此处选择的架构要与步骤 1 中保留的 SDK 架构一致,然后点击 “Build” 生成 App 到本地。
b. 在 Windows 设备上,单击工程中的 .exe 文件,即可运行。
运行到 Linux 设备:
a. 参考步骤 7,将 “Platform” 切换到 “Linux” 平台,然后单击 “Build” 生成 App 到本地。
b. 在 Linux 设备上的 App 目录打开终端,输入 “./<App 名称>”,即可运行。例如 Build 生成 App 名称为 “zegoExpressExample”,则输入以下命令运行:
$ ./zegoExpressExample
体验实时音视频功能
在真机中运行项目,运行成功后,可以看到本端视频画面。
为方便体验,ZEGO 提供了一个 Web 端调试示例,在该页面下,输入相同的 AppID、RoomID,输入一个不同的 UserID,即可加入同一房间与真机设备互通。当成功开始音视频通话时,可以听到远端的音频,看到远端的视频画面。
本文为原创稿件,版权归作者所有,如需转载,请注明出处:https://www.nxrte.com/jishu/yinshipin/6892.html