升级指南(V2)
更新时间: 2024/09/23 15:44:28
本文介绍呼叫组件 Android 端从 V1.8.2 版本升级至 V2 系列版本的说明和注意事项。
V2.1.0 变更
呼叫组件 V2.1.0 主要涉及组件 UI 接口及参数变更,具体如下:
-
CallKitUIOptions
功能接口 变更说明 设置呼叫 notification 的内容配置 notificationConfigFetcher
接口回调参数由 InvitedInfo
变更为NEInviteInfo
设置呼叫对应信令推送配置 pushConfigProvider
已经删除,通过发起呼叫( NECallEngine.sharedInstance().call
)时,设置NECallParam.pushConfig
参数来实现,类型为NECallPushConfig
RTC SDK 初始化模式 rtcInitScope
CallKitUIOptions.initRtcMode
配置,详细见NECallInitRtcMode
设置组件日志路径 logRootPath
已经删除,参考常见问题修改为 XkiInitOptions
方式完成日志路径设置 -
CallParam
功能接口 变更说明 信令推送配置 pushConfig
新增,用于设置呼叫的信令推送配置 通话类型(音频/视频) channelType
替换为 callType
字段,类型为int
,详细见NECallType
被叫用户 accId p2pCalledAccId
替换为 calledAccId
字段通话的所有用户 accid 列表 totalAccIdList
已经删除 创建 P2P 呼叫参数 createSingleCallParam
已经删除,请通过 CallParam.Builder
来构建呼叫参数创建老版本群呼参数(无用) createGroupCallParam
已经删除 群组 ID(无用) groupId
已经删除 -
CommonCallActivity
功能接口 变更说明 呼叫组件实例 videoCall
替换为 callEngine
切换通话类型 doSwitchCallType
接口参数变更 发起呼叫 doCall
接听 doAccept
终止通话 doHangup
取消呼叫 doCancel
替换为 doHangup
接口拒绝接听呼叫 doReject
发起群呼 doGroupCall
已经删除,功能移除 群呼通话中途邀请 doGroupInvite
群呼中离开 doLeave
摄像头状态变更回调 onVideoDeviceStageChange
设置通话中回调监听 provideRtcDelegate
已经删除,通过继承 CommonCallActivity
覆写对应回调参数本端加入 RTC 成功回调 onJoinChannel
已经删除,若有需要参考上文实现 配置通话时间监听 configTimeTick
新增,设置通话时间监听,需要在使用后设置为 null 避免 通话建立回调 onCallConnected
新增,用于替换 provideRtcDelegate
接口设置相关回调通话切换回调 onCallTypeChange
通话结束回调 onCallEnd
远端用户开启或关闭了摄像头回调 onVideoAvailable
远端用户是否开启视频流采集回调 onVideoMuted
远端用户是否开启音频流采集回调 onAudioMuted
-
P2PCallActivity
使用
P2PCallFragmentActivity
替换。
V2.0.0 变更
- V2.0 版本既包括 V2.0 新版本的接口,也包括原 V1.x 版本的接口(兼容 V1.X 版本)。
- 请确保代码中全使用 V2.0 版本的接口或全使用 V1.x 版本的接口,V2.0 版本的接口和 V1.x 版本的接口不要混用。
从 V1.8.2 升级至 V2 系列版本,涉及如下接口方法和接口参数变更,您需要结合实际业务场景更新相关的 App 代码。
请修改对应的类名,替换对应的接口名称,并根据 API 参考 中的参数差异,修改相应的实现。
API 变更
-
接口变更
V1 系列的 NERTCVideoCall 类变更为 V2 系列的 NECallEngine 类,详细接口变更如下表所示。
-
回调变更
V1 系列的 NERTCCallingDelegate 类变更为 V2 系列的 NECallEngineDelegate 类,详细回调变更如下表所示。
功能V1 系列回调 V2 系列回调 变更说明 收到呼叫邀请 onInvited
NECallEngineDelegate.onReceiveInvited
接口名称和参数变更。
参数由InvitedInfo
变更为NEInviteInfo
用户加入通话 onUserEnter
NECallEngineDelegate.onCallConnected
接口名称和参数变更。
参数由String
变更为NECallInfo
通话结束回调 onCallEnd
NECallEngineDelegate.onCallEnd
接口名称和参数变更。
参数由String
变更为NECallEndInfo
,具体挂断原因通过参数的NECallEndInfo.reasonCode
来区分,具体见NEHangupReasonCode
用户离开时回调 onUserLeave
用户断开连接回调 onUserDisconnect
被叫拒绝呼叫邀请回调 onRejectByUserId
主叫取消呼叫回调 onCancelByUserId
被叫用户忙占线回调 onUserBusy
接听超时回调 timeOut
本端用户通话中 RTC 异常断开回调 onDisconnect
通话存在错误终止通话时回调 onError
切换通话类型时回调 onCallTypeChange
NECallEngineDelegate.onCallTypeChange
接口名称和接口参数变更。 type
和state
参数变更为NECallTypeChangeInfo
对象。远端用户开启或关闭了摄像头回调 onCameraAvailable
NECallEngineDelegate.onVideoAvailable
接口名称和接口参数变更。
参数名称由isVideoAvailable
变更为available
。远端用户是否开启视频流采集回调 onVideoMuted
NECallEngineDelegate.onVideoMuted
接口名称和接口参数变更。
参数名称由isMute
变更为mute
。远端用户是否开启音频流采集回调 onAudioMuted
NECallEngineDelegate.onAudioMuted
接口删除
功能 |
接口 | 变更说明 |
---|---|---|
通过呼叫组件使用 RTC SDK 的接口 | setCallExtension |
V2 系列版本通过调用 NECallEngine.sharedInstance().setup 初始化时,通过 NESetupConfig.rtcCallExtension 字段来实现,类型为 CallExtension ,实际可以继承 NERtcCallExtension 来实现扩展。 |
设置被呼叫时自动加入信令通道 | setEnableAutoJoinWhenCalled |
V2 系列版本通过调用 NECallEngine.sharedInstance().setup 初始化时,通过 NESetupConfig.enableAutoJoinSignalChannel 字段来实现。 |
静音指定用户 | setAudioMute |
请替换为 NERtcEx.adjustUserPlaybackSignalVolume 实现 |
设置呼叫对应信令推送配置 | setPushConfigProvider |
设置发起呼叫的推送配置,通过调用 NECallEngine.sharedInstance().call 发起呼叫,呼叫中的参数 NECallParam.pushConfig 字段来实现,类型为 NECallPushConfig |
远端用户开启或关闭了麦克风回调 | onAudioAvailable |
已经删除,若有需要通过下文代码实现 |
本端加入 RTC 成功回调 | onJoinChannel |
|
通话网络质量回调 | onUserNetworkQuality |
|
收到对端的视频首帧回调 | onFirstVideoFrameDecoded |
示例代码
-
onJoinChannel 接口替换
V1 系列版本
onJoinChannel
接口,变更后的 V2 系列版本的示例代码如下:Java
NERtcCallbackProxyMgr.getInstance().addCallback(new NERtcCallbackExTemp(){ @Override public void onJoinChannel(int result, long rtcChannelId, long time, long rtcUid) { } });
-
onAudioAvailable 接口替换
V1 系列版本
onAudioAvailable
接口,变更后的 V2 系列版本的示例代码如下:Java
NERtcCallbackProxyMgr.getInstance().addCallback(new NERtcCallbackExTemp(){ @Override public void onUserAudioStart(long uid) { } @Override public void onUserAudioStop(long uid) { } });
-
onFirstVideoFrameDecoded 接口替换
V1 系列版本
onFirstVideoFrameDecoded
接口,变更后的 V2 系列版本的示例代码如下:Java
NERtcCallbackProxyMgr.getInstance().addCallback(new NERtcCallbackExTemp(){ @Override public void onFirstVideoFrameDecoded(NERtcVideoStreamType streamType, long userID, int width, int height) { } });
-
onUserNetworkQuality 接口替换
V1 系列版本
onUserNetworkQuality
接口,变更后的 V2 系列版本的示例代码如下:Java
NERtcStatsObserverProxyMgr.getInstance().addNetworkObserver(new NERtcNetworkObserver(){ @Override public void onNetworkQuality(NERtcNetworkQualityInfo[] neRtcNetworkQualityInfos) { } });
此文档是否对你有帮助?