Tutorial: SDK 升级指引

SDK 升级指引

从 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)

      改成

      video.setBandwidth(maxBandwidth)

    • user.remotecmdUnpublishCamera(cameraId)

      改成

      user.remotecmdUnpublishCamera(userId,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)

  • 新增的接口:

    • 设置带宽 screen.setBandwidth(maxBandwidth)

    • 白板更新 user.updateBoard(board)

      应用层回调

      ​ 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。