示例源码运行指引
本文介绍如何快速跑通示例源码,体验基础的音视频通话服务。
准备环境
请确保开发环境满足以下技术要求:
-
Windows:Windows 7 或以上版本,安装了 Visual Studio 2019 或以上版本。
-
macOS:macOS 11.0 或以上版本,安装了 Xcode 15.0 或以上版本。
-
Linux:任意具有 GLIBC 2.16 或以上版本的 Linux 发行版系统,支持 x86_64, aarch64, armhf 架构。
说明- Linux RTC SDK 仅支持自定义视频渲染,不支持 SDK 自动渲染(即预览、拉流的 ZegoCanvas 参数无效),因此示例 Demo 中除了自定义视频渲染专题外都不能显示画面。
- 您可以参考 自定义视频渲染 文档和此 Demo “ZegoExpressExample/Examples/AdvancedVideoProcessing/CustomVideoRendering” 目录下的示例代码,来实现在 Linux Qt 上渲染显示预览或拉流的画面。
-
其他通用要求:
注意QtCreator 8.0.1 之前的版本,在 macOS 12 Monterey 或以上的系统上,可能会遇到在调试此 Demo 时无法请求摄像头、麦克风权限从而导致 Demo 崩溃的问题,详情参考 此 issue。
解决方案:可下载安装 QtCreator 8.0.2 或以上版本,而不要使用 Qt5 安装包自带的 QtCreator。
开发者可以从 QtCreator Github Release 或 Qt 官网 下载,或者使用 HomeBrew 安装:
brew update && brew install --cask qt-creator
前提条件
已在 ZEGO 控制台 创建项目,并申请有效的 AppID 和 AppSign,详情请参考 控制台 - 项目管理 中的“项目信息”。
SDK 同时也支持 Token 鉴权,若您需要升级鉴权方式,可参考 如何从 AppSign 鉴权升级为 Token 鉴权。
安装完 CMake 和 Qt 后需要添加环境变量,下面提供的 CMake 和 Qt 路径仅供参考,用户需要根据自己设备上的实际路径填写。
-
Windows 系统:
- 修改环境变量:在 Path 中添加
C:\Program Files\CMake\bin
- 修改环境变量:在 Path 中添加
C:\Qt\Qt5.12.12\5.12.12\msvc2017\bin
- 添加用户变量:添加
QTDIR
用户变量为C:\Qt\Qt5.12.12\5.12.12\msvc2017
- 修改环境变量:在 Path 中添加
-
macOS 系统:
export PATH="$PATH:$HOME/Qt5.12.12/5.12.12/clang_64/bin" export QTDIR="$HOME/Qt5.12.12/5.12.12/clang_64"
-
Linux 系统:
export QTDIR="/usr/local/Qt-5.12.12" export PATH="$PATH:$QTDIR/bin" export LD_LIBRARY_PATH="$QTDIR/lib:$LD_LIBRARY_PATH"
获取示例源码
本地下载
此示例源码为一个桌面端跨平台的 Qt5 C++ 应用程序,同时支持 Windows/macOS/Linux 平台,示例源码中已附带了三个平台最新版本的 SDK 包,可以直接运行。
示例源码目录结构
下列结构为 video 子目录的文件结构,下文所涉及的文件路径均为相对于此目录的路径。
.
├── README_zh.md
├── README.md
├── libs
│ ├── ScreenCapture
│ └── ZegoExpress
│ ├── linux # ZegoExpressVideo Linux SDK 存放目录
│ ├── mac # ZegoExpressVideo macOS SDK 存放目录
│ │ └── ZegoExpressEngine.xcframework
│ └── win # ZegoExpressVideo Windows SDK 存放目录
│ ├── x64
│ └── x86
└── ZegoExpressExample
├── KeyCenter.cpp # 填写申请的 AppID 和 AppSign
├── KeyCenter.h
├── ZegoExpressExample.pro # Qt 工程文件
├── Examples
├── HomePage
...
运行示例源码
-
修改 “/ZegoExpressExample/KeyCenter.cpp” 文件,填写 SDK 初始化所需的 “AppID” 和 “AppSign”。
注意请使用本文 前提条件 已获取的 AppID 和 AppSign 正确填写,否则示例源码无法正常运行。
-
打开工程。
使用 QtCreator 打开 “./ZegoExpressExample/ZegoExpressExample.pro” 工程文件。
-
编译和运行项目工程。
-
方式 1:通过 QtCreator 直接 Run 或者 Build。
打开 Qt 工程后,单击左下角的 “Run”、“Debug”、“Build” 按钮,构建并运行 Demo。
-
方式 2:通过 qmake 和 make 构建。
-
Windows
- 打开 cmd.exe,并执行
cd \path\to\this\folder
命令进到此文件所在的目录。 - 找到 “vcvarsall.bat” 的路径 (例如 VS 2019 版本在 “C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat”)。
- 执行
call "\path\to\your\vcvarsall.bat" x86
命令设置 MSVC 环境。 - 执行
qmake ZegoExpressExample\ZegoExpressExample.pro CONFIG+=Win32 -o .\build\Makefile
命令通过 qmake 生成 Makefile。 - 执行
cd build
进入 build 目录,并通过nmake
命令构建工程。 - 执行
cd ..
回到上级目录,并通过windeployqt .\bin\release\ZegoExpressExample.exe
命令部署 Qt App。
- 打开 cmd.exe,并执行
-
macOS
- 打开终端,并执行
cd /path/to/this/folder
命令,进入此文件所在目录。 - 执行
qmake ZegoExpressExample/ZegoExpressExample.pro CONFIG+=x86_64 -o ./build/Makefile
命令,通过 qmake 生成 Makefile。 - 执行
cd build
命令进入 build 目录,并通过make
命令构建工程。 - 执行
cd ..
命令回到上级目录,并通过macdeployqt ./bin/release/ZegoExpressExample.app
命令部署 Qt App。
- 打开终端,并执行
-
Linux
- 打开终端,并进入文件所在的目录
cd /path/to/this/folder
。 - 选择编译环境
- 本机编译 (支持 x86_64, aarch64, armhf)
- 执行
qmake ZegoExpressExample/ZegoExpressExample.pro -o ./build/Makefile
,通过 qmake 生成 Makefile。 - 执行
cd build
,进入 build 目录并执行make
构建工程。 - 在上层目录的
bin/release
目录下,找到ZegoExpressExample
工程文件,即可运行。
- 执行
- 交叉编译
- 目前支持在 x86_64 环境下为 aarch64 或 armhf 目标平台交叉编译 (若需要支持其他环境,请自行修改
ZegoExpressExample.pro
中的配置)。 - 确认您的机器已安装为目标平台交叉编译用的 Qt everywhere,下面假设为 aarch64 目标平台交叉编译并且对应的 Qt 已经安装到了
/usr/aarch64-linux-gnu/Qt-5.12.12
目录。 - 执行
export TARGET_LINUX_ARCH=aarch64
,此环境变量是为帮助ZegoExpressExample.pro
识别当前要构建的目标平台。 - 执行
/usr/aarch64-linux-gnu/Qt-5.12.12/bin/qmake ZegoExpressExample/ZegoExpressExample.pro -o ./build/Makefile -spec linux-aarch64-gnu-g++
,通过 qmake 生成目标平台为 aarch64 的 Makefile。 - 执行
cd build
,进入 build 目录并执行make
构建工程。 - 将
bin/release
目录下的产物和/usr/aarch64-linux-gnu/Qt-5.12.12/lib
目录拷贝到您的目标平台上,即可运行。
- 目前支持在 x86_64 环境下为 aarch64 或 armhf 目标平台交叉编译 (若需要支持其他环境,请自行修改
- 本机编译 (支持 x86_64, aarch64, armhf)
- 打开终端,并进入文件所在的目录
-
-
体验音视频通话/直播功能
在真机中运行项目,运行成功后,可以看到本端视频画面。
为方便体验,ZEGO 提供了一个 Web 端调试示例,在该页面下,输入相同的 AppID、RoomID,输入不同的 UserID、以及对应的 Token,即可加入同一房间与真机设备互通。当成功开始音视频通话时,可以听到远端的音频,看到远端的视频画面。