Tutorial: SDK 升级指引

SDK 升级指引

以下 SDK 版本存在接口变更或 Breaking Change,升级时需要注意。

Version 5.6.0 @2024.5.17

【变更】

在 v5.6.0 之前的版本,SDK 默认开启自动视频拉流(当远端推视频流后,SDK 会自动拉远端视频流),但是有时候您的业务场景是按需拉取的,此时自动拉流会造成额外的带宽消耗。

在 v5.6.0 之后的版本,SDK 关闭默认自动视频拉流(当远端视频推流,SDK 不会自动拉视频流),即:trtc.enterRoom 的 autoReceiveVideo 参数默认值从 true 变更为 false。由业务侧按需调用 trtc.startRemoteVideo 来拉流播放视频,减少可能存在的不必要带宽占用。

如下场景建议您开启 autoReceiveVideo:

  1. 想要获得更快的“秒开”体验(从进房到看到首帧远端视频画面),您可以打开自动视频拉流。
  2. 远端没有推视频流,而是推了一路黑帧视频,用于发送 SEI 消息。此时对于接收端来说,黑帧视频流是不需要 trtc.startRemoteVideo 渲染出来的。因此你也可以打开自动视频拉流,以确保正常收到 SEI 消息。

Version 5.1.0 @2023.08.11

【背景】

  1. TRTC 数字类型和字符串类型房间号不互通。
  2. 在 v5.1.0 之前的版本,trtc.enterRoom 接口的 roomId 参数支持传入 number 和 string 两种类型。很容易出现因房间号类型不同,导致多端无法互通的情况。例如:TRTC Web 端使用了字符串类型 roomId "123",而 TRTC Android 使用了数字类型的 roomId 123。

【变更】

为防止出现上述情况,自 v5.1.0 版本开始,限制 trtc.enterRoom 接口的 roomId 参数为 number 类型,不再支持传入 string 类型。若要使用字符串房间号,请使用 strRoomId 参数。

从 4.x 升级到 5.x

TRTC Web SDK 5.0.0 于 2023 年 5 月 26 日正式发布。

TRTC Web SDK 5.x 版本是 Web 端全新升级版,提供扁平化接口、大幅简化 API、降低您的接入成本;在多人音视频场景下,具有更好的性能表现及弱网抗性。

5.x 版本的接口与 4.x 版本的接口不兼容,因此您如果升级到 5.x 版本,调用的接口需要做相应的改动。

此部分主要是为有 TRTC Web SDK 4.x 经验的、希望了解 5.x 的新功能和更改的用户而提供的。

下面是 4.x 与 5.x 功能教程,升级时需要注意各个教程的实现差异:

基础教程

4.x 实现教程 5.x 实现教程
实现基础音视频通话 实现基础音视频通话
实现互动连麦直播 实现互动连麦直播
切换摄像头和麦克风 切换摄像头和麦克风
设置本地视频属性 设置本地视频属性
动态开关摄像头、麦克风 动态开关摄像头、麦克风
实现屏幕分享 实现屏幕分享
音量大小检测 音量大小检测

进阶教程

4.x 实现教程 5.x 实现教程
自定义采集与自定义播放渲染 自定义采集与自定义播放渲染
背景音乐和音效实现方案 背景音乐和音效实现方案
通话前环境与设备检测 通话前环境与设备检测
检测网络质量 检测网络质量
检测设备插拔行为 检测设备插拔行为
开启大小流 开启大小流
开启水印 开启水印
开启 AI 降噪 开启 AI 降噪
实现云端混流
实现推流到 CDN
云端混流与转推 CDN
实现 3D 空间音频 排期开发中,敬请期待
实现变声 排期开发中,敬请期待

最佳实践

4.x 实现教程 5.x 实现教程
自动播放受限处理建议 自动播放受限处理建议
应对防火墙受限 应对防火墙受限