有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
本文主要介绍如何快速运行腾讯云 TRTC Demo(Windows C++)。

环境要求

Microsoft Visual Studio 2017 及以上版本,推荐使⽤ Microsoft Visual Studio 2019。
下载并安装 QT 开发环境(QT 5.14.x版本)。
下载并安装 .vsix 插件⽂件,根据官⽹文件命名找对应插件版本安装即可。
打开 VS 并在⼯具栏找到 QT VS Tools -> Qt Options -> Qt Versions,add 添加我们⾃⼰的 Qt 编译器 msvc。
需要将 SDK/CPlusPlus/Win64/lib 下的所有的 .dll ⽂件拷⻉到⼯程⽬录下的 debug / release ⽂件夹下。
注意
debug/release ⽂件夹均是在 VS 上的环境配置完后⾃动⽣成。如果是32位程序,则需要拷贝 SDK/CPlusPlus/Win64/lib 下的所有 .dlldebug / release ⽂件夹下。

前提条件

您已 注册腾讯云 账号,并完成 实名认证

操作步骤

步骤1:创建新的应用

1. 登录实时音视频控制台,选择开发辅助 > 快速跑通 Demo
2. 单击新建应用输入应用名称,例如 TestTRTC;若您已创建应用可单击选择已有应用
3. 根据实际业务需求添加或编辑标签,单击创建


说明
应用名称只能包含数字、中英文字符和下划线,长度不能超过15个字符。
标签用于标识和组织您在腾讯云的各种资源。例如:企业可能有多个业务部门,每个部门有1个或多个 TRTC 应用,这时,企业可以通过给 TRTC 应用添加标签来标记部门信息。标签并非必选项,您可根据实际业务需求添加或编辑。

步骤2:下载 SDK 和 Demo 源码

1. 根据实际业务需求下载 SDK 及配套的 Demo 源码。
2. 下载完成后,单击已下载,下一步





步骤3:配置 Demo 工程文件

1. 进入修改配置页,根据您下载的源码包,选择相应的开发环境。
2. 找到并打开定义 SDKAppID 和密钥信息的文件,如下:


适用平台
文件相对路径
Windows(C++/QT)
TRTC-API_Example-Qt/src/Util/defs.h
3. 设置 defs.h 文件中的相关参数:
SDKAppID:默认为0,请设置为实际的 SDKAppID。
SDKSECRETKEY:默认为空字符串,请设置为实际的密钥信息。



4. 粘贴完成后,单击已复制粘贴,下一步即创建成功。
5. 编译完成后,单击回到控制台概览即可。
注意
本文提到的生成 UserSig 的方案是在客户端代码中配置 SDKSECRETKEY,该方法中 SDKSECRETKEY 很容易被反编译逆向破解,一旦您的密钥泄露,攻击者就可以盗用您的腾讯云流量,因此该方法仅适合本地跑通 Demo 和功能调试
正确的 UserSig 签发方式是将 UserSig 的计算代码集成到您的服务端,并提供面向 App 的接口,在需要 UserSig 时由您的 App 向业务服务器发起请求获取动态 UserSig。更多详情请参见 服务端生成 UserSig

步骤4:编译运行

QtDemo

方法一:使⽤ QtCreator 打开源码⽬录下的 QTDemo\\QTDemo.pro ⼯程⽂件,编译并运⾏ QTDemo ⼯程即可。
方法二:启动安装了 QT 开发插件的 Visual Studio(建议 VS2015 或以上),在菜单中选择 Qt VS Tools > Open Qt Project File(.pro)... 打开源码⽬录下的 QTDemo\\QTDemo.pro ⼯程⽂件,编译并运⾏ QTDemo ⼯程即可。

常见问题

1. 查看密钥时只能获取公钥和私钥信息,要如何获取密钥?

TRTC SDK 6.6 版本(2019年08月)开始启用新的签名算法 HMAC-SHA256。在此之前已创建的应用,需要先升级签名算法才能获取新的加密密钥。如不升级,您也可以继续使用 老版本算法 ECDSA-SHA256,如已升级,您按需切换为新旧算法。
升级/切换操作:
2. 在左侧导航栏选择应用管理,单击目标应用所在行的应用信息
3. 选择快速上手页签,单击第二步 获取签发 UserSig 的密钥区域的 HMAC-SHA256
切换回老版本算法 ECDSA-SHA256:


切换为新版本算法 HMAC-SHA256:



2. 两台设备同时运行 Demo,为什么看不到彼此的画面?

请确保两台设备在运行 Demo 时使用的是不同的 UserID,TRTC 不支持同一个 UserID (除非 SDKAppID 不同)在两个设备同时使用。



3. 防火墙有什么限制?

由于 SDK 使用 UDP 协议进行音视频传输,所以对 UDP 有拦截的办公网络下无法使用,如遇到类似问题,请参见 应对公司防火墙限制