本文示例源码为一个桌面端跨平台的 Qt5 C++ 应用程序,同时支持 Windows/macOS/Linux 平台,示例源码中已附带了三个平台最新版本的 SDK 包,可以直接运行。
源码下载地址:https://storage.zego.im/express/example/video/qt_cpp/ZegoExpressDemo_qt_cpp.zip
示例源码运行指引
本文介绍如何快速跑通示例源码,体验基础的音视频通话服务。
准备环境
请确保开发环境满足以下技术要求:
- Windows:Windows 7 或以上版本,安装了 Visual Studio 2019 或以上版本。
- macOS:macOS 11.0 或以上版本,安装了 Xcode 13 或以上版本。
- Linux:任意具有 GLIBC 2.16 或以上版本的 Linux 发行版系统,支持 x86_64, aarch64, armhf 架构。
其他通用要求:
- 安装了 CMake:
- 安装了 Qt(5.9 ~ 5.15 版本):
- 麦克风、摄像头等支持音视频功能的外部设备正常。
前提条件
已在 ZEGO 控制台 创建项目,并申请有效的 AppID 和 AppSign,详情请参考 控制台 – 项目管理 中的“项目信息”。
安装完 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"
示例源码目录结构
下列结构为 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”。
- 打开工程。 使用 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)
- 打开终端,并进入文件所在的目录
- Windows
体验音视频通话/直播功能
在真机中运行项目,运行成功后,可以看到本端视频画面。
为方便体验,ZEGO 提供了一个 Web 端调试示例,在该页面下,输入相同的 AppID、RoomID,输入一个不同的 UserID,即可加入同一房间与真机设备互通。当成功开始音视频通话时,可以听到远端的音频,看到远端的视频画面。
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/yinshipin/35701.html