从 3.x 升级到 4.x
WebRTC SDP 标准格式原先只有Plan B一种协议,后随着WebRTC 1.0 版本正式发布, Unified Plan协议成为 W3C 推荐协议。其中Chrome浏览器一直兼容Plan B协议。
RTC Web SDK 3.x 采用Plan B 协议开发, Web SDK 4.x 采用Unified Plan协议开发。
现Chrome浏览器最近发布了公告:
- M93(2021年8月稳定):Plan B 被移除,可以选择加入 Reverse Origin Trial 来延长这个截止日期。
- M96(2022年1月稳定):延长的最后期限结束,Plan B 被移除。
为不影响客户使用,现要求所有使用web SDK 3.x的客户近快升级到web SDK 4.x版本。现关于SDK升级涉及到的全部接口明细罗列如下,如客户代码中有涉及到接口调整或删除部分,请参照SDK接口文档说明做修改。
SDK 升级涉及到的全部接口明细:
有调整变化的接口:
avdEngine.setDefaultVideoParams(width,height,resolutionSetType,frameRate,minBandwidth,maxBandwidth)
改成
avdEngine.setDefaultVideoParams(width,height,resolutionSetType,frameRate)
video.setBandwidth(minBandwidth,maxBandwidth)
改成
user.remotecmdUnpublishCamera(cameraId)
改成
room.addCallback(RoomCallback.connection_indicator,onConnectionIndicator),返回的网络状态,如房间中总的上下行码流,各个音视频的码流等统计参数微调
检测设备接口有调整,不再提供单独接口,统一通过avdEngine.initDevice()操作后,根据获取到的值来处理
- avdEngine.checkDevice().then(checkResult)变成内部函数,直接取avdEngine.hasCamera,avdEngine.hasMicrophone
- avdEngine.getDeviceObject().then(showDevices)取消,直接取avdEngine.cameraMap,avdEngine.microphoneMap
已经接口的删除:
room.composePDUDeviceId(prefix,deviceId)
room.splitPDUDeviceId(PDUDeviceId)
room.splitUserId(PDUDeviceId)
新增的接口:
-
应用层回调
user.addCallback(UserCallback.board_update_result, onBoardUpateResult);
function onBoardUpateResult(boardId,backgroundColor,backgroundImage) { }
移动端H5打开前置摄像头 user.openMobileFrontVideo(element)
移动端H5关闭前置摄像头 user.closeMobileFrontVideo()
移动端H5打开后置摄像头 user.openMobileBackVideo(element)
移动端H5关闭后置摄像头 user.closeMobileBackVideo()
命令远端用户麦克风静音 user.remotecmdMuteMicrophone(userId)
命令远端用户麦克风取消静音 user.remotecmdUnmuteMicrophone(userId)
媒体播放开始通知 room.addCallback(RoomCallback.mediaplay_started_notify, onMediaPlayStartedNotify)
媒体播放结束通知 room.addCallback(RoomCallback.mediaplay_stoped_notify, onMediaPlayStopedNotify)
媒体播放进度通知 room.addCallback(RoomCallback.mediaplay_progress_notify, onMediaPlayProgressNotify)
设备检测时麦克风音量的检测回调 avdEngine.checkAudioLevel(1000,showAudioLevel);
function showAudioLevelm(audioLevel) {}
其它:
支持移动端浏览器中白板批注的手势操作
分辨率设置类型默认值从强制即ResolutionSetType.exact 改为 期望即ResolutionSetType.ideal。