Qt音视频通话示例源码体验

本文示例源码为一个桌面端跨平台的 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 系统:
    1. 修改环境变量:在 Path 中添加 C:\Program Files\CMake\bin
    2. 修改环境变量:在 Path 中添加 C:\Qt\Qt5.12.12\5.12.12\msvc2017\bin
    3. 添加用户变量:添加 QTDIR 用户变量为 C:\Qt\Qt5.12.12\5.12.12\msvc2017
  • 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
    ...

运行示例源码

  1. 修改 “/ZegoExpressExample/KeyCenter.cpp” 文件,填写 SDK 初始化所需的 “AppID” 和 “AppSign”。
Qt音视频通话示例源码体验
  1. 打开工程。 使用 QtCreator 打开 “./ZegoExpressExample/ZegoExpressExample.pro” 工程文件。
  2. 编译和运行项目工程。
    • 方式 1:通过 QtCreator 直接 Run 或者 Build。 打开 Qt 工程后,单击左下角的 “Run”、“Debug”、“Build” 按钮,构建并运行 Demo。
    • 方式 2:通过 qmake 和 make 构建。
      • Windows
        1. 打开 cmd.exe,并执行 cd \path\to\this\folder 命令进到此文件所在的目录。
        2. 找到 “vcvarsall.bat” 的路径 (例如 VS 2019 版本在 “C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat”)。
        3. 执行 call "\path\to\your\vcvarsall.bat" x86 命令设置 MSVC 环境。
        4. 执行 qmake ZegoExpressExample\ZegoExpressExample.pro CONFIG+=Win32 -o .\build\Makefile 命令通过 qmake 生成 Makefile。
        5. 执行 cd build 进入 build 目录,并通过 nmake 命令构建工程。
        6. 执行 cd .. 回到上级目录,并通过 windeployqt .\bin\release\ZegoExpressExample.exe 命令部署 Qt App。
      • macOS
        1. 打开终端,并执行 cd /path/to/this/folder 命令,进入此文件所在目录。
        2. 执行 qmake ZegoExpressExample/ZegoExpressExample.pro CONFIG+=x86_64 -o ./build/Makefile 命令,通过 qmake 生成 Makefile。
        3. 执行 cd build 命令进入 build 目录,并通过 make 命令构建工程。
        4. 执行 cd .. 命令回到上级目录,并通过 macdeployqt ./bin/release/ZegoExpressExample.app 命令部署 Qt App。
      • Linux
        1. 打开终端,并进入文件所在的目录 cd /path/to/this/folder
        2. 选择编译环境
          • 本机编译 (支持 x86_64, aarch64, armhf)
            1. 执行 qmake ZegoExpressExample/ZegoExpressExample.pro -o ./build/Makefile,通过 qmake 生成 Makefile。
            2. 执行 cd build,进入 build 目录并执行 make 构建工程。
            3. 在上层目录的 bin/release 目录下,找到 ZegoExpressExample 工程文件,即可运行。
          • 交叉编译
            1. 目前支持在 x86_64 环境下为 aarch64 或 armhf 目标平台交叉编译 (若需要支持其他环境,请自行修改 ZegoExpressExample.pro 中的配置)。
            2. 确认您的机器已安装为目标平台交叉编译用的 Qt everywhere,下面假设为 aarch64 目标平台交叉编译并且对应的 Qt 已经安装到了 /usr/aarch64-linux-gnu/Qt-5.12.12 目录。
            3. 执行 export TARGET_LINUX_ARCH=aarch64 ,此环境变量是为帮助 ZegoExpressExample.pro 识别当前要构建的目标平台。
            4. 执行 /usr/aarch64-linux-gnu/Qt-5.12.12/bin/qmake ZegoExpressExample/ZegoExpressExample.pro -o ./build/Makefile -spec linux-aarch64-gnu-g++,通过 qmake 生成目标平台为 aarch64 的 Makefile。
            5. 执行 cd build,进入 build 目录并执行 make 构建工程。
            6. bin/release 目录下的产物和 /usr/aarch64-linux-gnu/Qt-5.12.12/lib 目录拷贝到您的目标平台上,即可运行。

体验音视频通话/直播功能

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

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

本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/yinshipin/35701.html

(0)

相关推荐

发表回复

登录后才能评论