3.X 升级到 5.X
本文描述 RTCLib SDK 会议场景的升级步骤。
升级概述
RTCLib SDK 5.X 是基于 AndroidX 开发的新版 SDK,功能更丰富,更稳定,并在之前版本上修复了大量问题,建议尽早升级至新版 RTCLib SDK。
前置条件
- RTCLib SDK 依赖 IMLib 请您确保已将 IMLib 升级至 5.X
- 已遵照 IMLib 升级要求将您的工程升级至 AndroidX。
修改依赖方式
以下仅介绍通过 maven 集成的依赖升级方式。RTCLib 还支持本地依赖方式,请参考导入 RTCLib SDK。
修改 Maven 仓库地址
maven {url "https://dl.bintray.com/rongcloud/maven"} // 3.X
maven {url "https://maven.rongcloud.cn/repository/maven-releases/"} // 5.X
修改依赖命名
dependencies {
// x.y.z,请填写具体的 SDK 版本号,新集成用户建议使用最新版。
implementation 'cn.rongcloud.sdk:rtc_lib:x.y.z'
implementation 'cn.rongcloud.sdk:im_lib:x.y.z'
}
提示
- 各个 SDK 的最新版本号可能不相同,还可能是 x.y.z.h,可前往 融云官网 SDK 下载页面 或 融云的 Maven 代码库 查询。
- RTCLib 必须与其依赖的 IMKit/IMLib SDK 保持版本一致。从 5.2.0 开始至 5.4.4(不含),要求前三位一致。从 5.4.4 开始,要求前两位保持一致。注意,RTCLib 5.4.4 不可匹配小于 5.4.4 的 IM SDK。
类路径调整
3.X | 5.X |
---|---|
cn.rongcloud.rtc.RongRTCEngine | cn.rongcloud.rtc.api.RCRTCEngine |
cn.rongcloud.rtc.RongRTCAudioMixer | cn.rongcloud.rtc.api.RCRTCAudioMixer |
cn.rongcloud.rtc.room.RongRTCRoomConfig | cn.rongcloud.rtc.api.RCRTCRoomConfig |
cn.rongcloud.rtc.engine.view.RongRTCVideoView | cn.rongcloud.rtc.api.stream.RCRTCVideoView |
cn.rongcloud.rtc.RongRTCConfig | cn.rongcloud.rtc.api.RCRTCConfig |
cn.rongcloud.rtc.stream.local.RongRTCCapture | 无法直接替换,请参考5.X文档 |
cn.rongcloud.rtc.room.RongRTCMixConfig | cn.rongcloud.rtc.api.RCRTCMixConfig |
cn.rongcloud.rtc.stream.local.RongRTCAVOutputStream | cn.rongcloud.rtc.api.stream.RCRTCOutputStream |
cn.rongcloud.rtc.user.RongRTCLocalUser | cn.rongcloud.rtc.api.RCRTCLocalUser |
参照上表,在 AndroidStudio 中全局搜索旧的类路径,替换为新路径和新类名。
接口变化
初始化音视频引擎
RCRTCConfig
可以设置音视频采集参数。
// 5.X需要在加入房间之前初始化引擎,如下方式:
RCRTCEngine.getInstance().init(Context application, RCRTCConfig config)
加入房间
将 RongRTCEngine
替换为 RCRTCEngine
,将参数 RongRTCRoomConfig
替换为 RCRTCRoomConfig
// 5.X
RCRTCEngine.getInstance().joinRoom(String roomId,RCRTCRoomConfig roomConfig,IRCRTCResultDataCallback<RCRTCRoom> callBack)
获取房间实例
3.X 只能在加入房间成功回调里面获取到房间对象。
5.X 获取房间对象有两种方式,如下:
- 通过
joinRoom
回调拿到。 - 加入房间之后可以通过
RCRTCEngine.getInstance().getRoom()
获取。
视频大小流设置
发送方设置,将原有方法直接替换为下面方法
// 5.X
RCRTCEngine.getInstance().getDefaultVideoStream().enableTinyStream(enable);
房间事件回调
- 将
registerEventsListener
替换为registerRoomListener
, - 将监听
RongRTCEventsListener
替换为IRCRTCRoomEventsListener
具体可以参考5.X房间事件回调文档
// 5.X
RCRTCEngine.getInstance().getRoom().registerRoomListener(IRCRTCRoomEventsListener eventsListener)