Unity语音通话示例源码跑通 | Unity语音开发系列1

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 上安装为例:

Unity语音通话示例源码跑通 | Unity语音开发系列1

根据示例代码需要运行到的平台,选择对应的开发环境或设备:

  • 运行 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 版本,单击右上角图标选择 “添加模块” 选项,即可勾选并下载对应模块。
  • Unity语音通话示例源码跑通 | Unity语音开发系列1 Unity语音通话示例源码跑通 | Unity语音开发系列1

前提条件

已在 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

运行示例代码

  1. 下载的示例源码中缺少 SDK,需要先 下载 SDK 包,并解压。 参考 集成 SDK 文档,将解压后的 SDK 包拷贝到工程的 “Assets” 目录下;并根据要运行的平台做额外的处理,否则 App 会构建失败。如下图所示:
Unity语音通话示例源码跑通 | Unity语音开发系列1

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

Unity语音通话示例源码跑通 | Unity语音开发系列1

3. 点击 Unity Hub 的 “Projects” 选项卡,单击右上角 “Open”,选择示例源码所在目录。

Unity语音通话示例源码跑通 | Unity语音开发系列1

4. 打开后,可能会弹出提示:“Editor version not installed”,找不到示例源码工程使用的 Unity Editor 版本。此时,选择其它 Unity Editor 版本,并指定您正在使用的 Unity 版本即可。

Unity语音通话示例源码跑通 | Unity语音开发系列1

5. 打开工程后,选择左下角 “Project > Assets > Scenes” 目录下的 “HomePage”,双击,然后选择 “Game” 选项卡,可以看到示例源码主页的场景。

Unity语音通话示例源码跑通 | Unity语音开发系列1

6. 在上方菜单栏,选择 “File > Build Settings”。

Unity语音通话示例源码跑通 | Unity语音开发系列1

7. 在 “Platform” 中选择平台,并在右下角单击 “Switch Platform”,切换需要运行的平台。

Unity语音通话示例源码跑通 | Unity语音开发系列1

8. 开始运行。

  • 运行到 Android 设备: a. 参考步骤 7,将 “Platform” 切换到 “Android” 平台,单击 “Player Settings”,设置包名等配置。 Unity语音通话示例源码跑通 | Unity语音开发系列1
  • 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。 Unity语音通话示例源码跑通 | Unity语音开发系列1
  • c. 选择 “Info.plist” 文件,添加摄像头和麦克风权限。 Unity语音通话示例源码跑通 | Unity语音开发系列1
  • 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 到本地。

Unity语音通话示例源码跑通 | Unity语音开发系列1

b. 生成 macOS 上的一个应用后,双击即可运行。

运行到 Windows 设备:

a. 参考步骤 7,将 “Platform” 切换到 “Windows” 平台,选择好要构建的架构,注意此处选择的架构要与步骤 1 中保留的 SDK 架构一致,然后点击 “Build” 生成 App 到本地。

Unity语音通话示例源码跑通 | Unity语音开发系列1

b. 在 Windows 设备上,单击工程中的 .exe 文件,即可运行。

Unity语音通话示例源码跑通 | Unity语音开发系列1

运行到 Linux 设备:

a. 参考步骤 7,将 “Platform” 切换到 “Linux” 平台,然后单击 “Build” 生成 App 到本地。

Unity语音通话示例源码跑通 | Unity语音开发系列1

b. 在 Linux 设备上的 App 目录打开终端,输入 “./<App 名称>”,即可运行。例如 Build 生成 App 名称为 “zegoExpressExample”,则输入以下命令运行:

$ ./zegoExpressExample

体验实时音视频功能

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

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

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

(1)

相关推荐

发表回复

登录后才能评论