RTC Web SDK
简介
RTC Web SDK 是公司实时音视频通讯解决方案的 Web 端 SDK,它是通过 HTML 网页加载的 JavaScript 库。开发者可以使用 RTC Web SDK 提供的 API 建立连接,控制实时音视频通话,实现各种场景的应用。
目前 RTC Web SDK 主要支持 Chrome M73+ 、Firefox和Safari 浏览器。
请务必使用 HTTPS 协议或者 localhost 来部署您的 Web App,否则会出现找不到 navigator.mediaDevices 错误!
基本工作原理
RTC Web SDK 是基于 WebRTC 的实时音视频通话解决方案,它通过 WebSocket 与公司实时音视频后台服务器建立信令通道,信令通道 主要是用来进行用户进退房、媒体能力交换、房间内用户状态变更通知等信令通信;音视频数据传输则通过 WebRTC 的 RTP/RTCP 进行。
API 概要
AVDEngine类是整个 SDK 的主入口,提供创建 avdEngine 对象、获取摄像头列表、麦克风列表、检查浏览器兼容性、控制日志等级及日志保存等功能。
Room类(由avdEngine.obtainRoom(roomId)创建),提供房间相关的核心能力:
进房 join()
退房leave()
关闭房间 closeRoom()
User类(由room.getUser(userId)创建),提供用户相关的核心能力:
命令远端用户发布某一摄像头视频remotecmdPublishCamera(video)
命令远端用户取消发布摄像头视频remotecmdUnpublishCamera(userId,cameraId)
命令远端用户打开麦克风remotecmdOpenMicrophone(userId)
命令远端用户关闭麦克风remotecmdCloseMicrophone(userId)
命令远端用户麦克风静音remotecmdMuteMicrophone(userId)
命令远端用户麦克风取消静音remotecmdUnmuteMicrophone(userId)
针对移动端H5打开前置摄像头openMobileFrontVideo(element)
针对移动端H5打开后置摄像头openMobileBackVideo(element)
针对移动端H5关闭前置摄像头closeMobileFrontVideo()
针对移动端H5关闭后置摄像头closeMobileBackVideo()
Video类(由user.getVideo(videoId)创建),提供实时视频通话的核心能力:
发布/预览本地视频previewAndPublish(element)
取消预览本地视频unpreview()
取消发布本地视频unpublish()
取消订阅视频流unsubscrible()
禁视频muteCamera()
取消禁视频unmuteCamera()]
Audio类(由user.getVideo(microphoneId)创建),提供实时音频通话的核心能力:
发布/预览本地音频openMicrophone(element)
取消发布/预览本地音频closeMicrophone()
订阅音频流subscrible()
取消订阅音频流unsubscrible()
取消禁音频unmuteMicrophone()
Screen类(由user.getScreen()创建),提供实时桌面共享的核心能力:
发布桌面共享publish()
取消发布桌面共享unpublish()
订阅桌面共享流subscrible()
取消订阅桌面共享流unsubscrible()