本文档适用于小鱼易连Web SDK 4.x版本,此版本是基于v3.x版本架构升级版本,需要一定的迁移升级操作;
请务必在https协议或者http://localhost域名下集成Web SDK,否则会导致采集音视频流失败问题
XYRTC模块是小鱼易连Web SDK提供的全局总入口,提供如下能力:
XYRTCClient
模块/日志模块;属性 | 描述 |
logger | SDK内部的日志模块 |
小鱼易连Web SDK的版本和构建时间 |
方法 | 描述 |
创建会议客户端XYRTCClient模块,提供实时音视频通话框架能力,一次会议创建一次即可 | |
创建自定义Logger日志模块 | |
检测浏览器是否支持WebRTC能力 | |
检测浏览器是否支持共享内容能力 | |
设置Web SDK国际化语言 |
音视频通话客户端 XYRTCClient 模块,通过 XYRTC.createClient 创建,代表一次音视频会话,一次入会只需要创建一个客户端模块。客户端模块提供了音视频通话的核心功能,包含以下方法:
方法 | 描述 |
on | 注册监听事件,详见Client事件模块 |
设置SDK功能开关 |
方法 | 描述 |
小鱼易连账号登录,即将废弃,建议使用 loginXYAccount | |
三方账号登录/授权码登录 | |
三方账号统一认证登录 - 小鱼易连账号登录 | |
三方账号统一认证登录 - Token登录 | |
三方账号统一认证登录 - 授权码登录 | |
无登录模式调用,需要在调用 makeCall 前配置已登录用户和网关信息 |
方法 | 描述 |
发起会议呼叫 |
方法 | 描述 |
创建摄像头和麦克风Track模块 | |
创建分享内容Track模块 |
方法 | 描述 |
获取音频的Stream数据 | |
获取音频的分析器实例,用于获取远端或本地端音频音量大小 | |
获取视频的Stream数据 | |
指定画面屏幕截图 | |
关闭麦克风 | |
关闭摄像头 | |
开启麦克风 | |
开启摄像头 | |
推送自定义Track轨道流 | |
销毁音频分析器,释放资源 | |
通话字幕,设置本地说话的语言 | |
设置上下行视频的分辨率和帧率 | |
开启通话字幕 | |
停止通话字幕 | |
订阅参会者信息,通过bulkRoster事件监听详细内容 |
方法 | 描述 |
自动布局-设置指定参会者全屏显示画面 | |
音频播放异常情况下,重新播放会中声音 | |
画面播放异常情况下,重新播放本地视频 | |
画面播放异常情况下,重新播放指定参会终端画面 | |
自定义布局-请求参会者的视频流,可以配置分辨率和帧率数据 | |
自定义布局-自动轮询请求参会者的视频流 | |
移除音频播放容器元素,释放资源 | |
移除视频播放容器元素,释放资源 | |
移除重复视画面频播放容器元素,释放资源 | |
设置音频播放容器元素,SDK接管控制音频的播放 | |
自动布局-本地切换主画面 | |
自动布局-翻页查看更多参会者画面 | |
设置视频播放容器元素,SDK接管控制视频的播放和画面渲染 | |
设置本地画面渲染参数 | |
设置重复画面视频播放容器元素,SDK接管控制视频的重复播放和画面渲染 | |
自动布局-切换显示布局模式,默认是演讲者模式(SPEAKER) | |
自动布局-设置布局配置 | |
自动布局-设置移动端布局方向 | |
自动布局-会中动态切换显示/隐藏本地画面 | |
自动布局-手动触发更新布局列表中的位置和尺寸信息 |
方法 | 描述 |
校验会议室号和入会密码 | |
校验会议室入会密码 | |
获取会议分享详情信息 | |
获取本地的参会者数据,包含用户基本信息、会议状态信息 | |
隐身入会, 可调用此方法进行切换显示/隐藏状态 |
方法 | 描述 |
关联audio track与mediaGroupId通道,从而向特定通道发送音频数据 | |
获取随机云会议室 | |
设置调度模式下设备的声音状态 | |
开始调度设备 | |
启用多分组通道,进行多分组请流和资源创建 | |
停止调度设备 | |
停止多分组通道,销毁资源 |
方法 | 描述 |
开启云端录制 | |
停止云端录制 |
方法 | 描述 |
结束全体会议 | |
获取当前会议会控H5地址 | |
轮询切换到下一页 | |
取消举手 | |
举手发言 | |
onMute | 结束发言 |
rename | 修改本地参会者名称 |
通知会控打开/关闭摄像头结果 | |
signIn | 签到 |
设置焦点画面 | |
取消焦点画面 | |
校验会控主持密码 |
方法 | 描述 |
挂断会议,销毁资源 | |
off | 取消注册监听事件 |
方法 | 描述 |
发送自定义消息 | |
setServerAddress | 设置服务器地址 |
切换调试模式,控制发送和接收路所有流质量数据上报,通过监听 meeting-stats 事件获取数据 | |
动态切换功能开关 |
客户端Client模块提供了多种类型的事件消息,开发者根据需求自行订阅监听,所有事件内容如下:
事件Key | 描述 |
清除举手事件 | |
焦点画面事件 | |
会控互动工具相关数据, 签到事件 | |
会控事件,包含麦克风静音/非静音、是否强制静音、主会场设备、对话模式等状态和信息 | |
会控上报开启/关闭摄像头事件 | |
会控联席主持人/主持人/改名权限变更事件 | |
onhold | 会控启用/关闭等候室事件 |
点名/滚动字幕事件 |
事件Key | 描述 |
本地麦克风状态事件 | |
会议呼叫状态事件 | |
云会议室信息 | |
强制挂断会议消息,收到此消息时,需要进行退出会议操作 | |
企业配置信息(头像配置、禁用语音转写英文翻译) | |
轮询状态事件 | |
媒体迁会事件 | |
登录用户信息和个人云会议室信息数据 | |
本地摄像头状态事件 |
事件Key | 描述 |
会议人员数量/共享内容/主会场等发生变化事件 | |
当前正在共享内容的参会者信息 | |
自动布局-布局容器尺寸变化事件 | |
自动布局-参会人员强制全屏显示事件 | |
layout | 参会成员布局列表数据,包含参会者基本信息、位置、尺寸、旋转等数据(自定义布局不包含位置、尺寸、旋转数据) |
自动布局-分页数据 | |
参会者视频画面旋转信息 | |
自动布局-布局容器尺寸和位置信息 | |
自动布局-当前布局模式 |
事件Key | 描述 |
音频轨道Tracks数据 | |
订阅Roster事件(参会者数据) | |
参会者出入会信息 | |
本地端网络质量等级 | |
监听远端参会者网络质量等级 | |
会议总人数事件 | |
roster | 参会者列表事件(仅上报前20路,包含本地数据) |
语音激励人员信息 | |
实时讲话人信息(最多3三路数据) | |
通话字幕内容 | |
视频轨道事件 |
事件Key | 描述 |
多分组通道信息事件 | |
调度成功事件 | |
停止调度事件 |
事件Key | 描述 |
本地录制结果上报事件 | |
上报远端录制状态 | |
录制权限事件 |
事件Key | 描述 |
远端推送的自定义消息 | |
error | 错误事件 |
会议质量数据,包含接收/发送方的分辨率、带宽、码率、帧率、丢包等调试数据 | |
播放音视频失败事件 |
摄像头和麦克风轨道实例,通过此实例可实现如下功能:
属性 | 描述 |
AI插件-摄像头和麦克风轨道处理器链路的最终节点 |
VideoAudioTrack 实例包含以下方法,同时继承 BaseTrack 类,拥有 BaseTrack 类的属性和方法;
方法 | 描述 |
采集麦克风和摄像头流,支持分别采集 | |
close | 销毁当前Track资源 |
AI插件-连接插件处理器 | |
获取本地麦克风实时音量大小,范围:0-100 | |
off | 取消监听事件 |
on | 监听事件 |
切换前后置摄像头 | |
切换麦克风/摄像头/扬声器设备 |
VideoAudioTrack实例包含以下事件:
事件Key | 描述 |
device | 监听设备列表数据 |
监听设备授权权限变动状态 | |
监听轨道异常信息 |
共享桌面/应用内容轨道实例,通过此实例可实现如下功能:
ContentTrack实例包含以下方法:
方法 | 描述 |
采集屏幕/应用/网页标签视频流、支持在共享过程中,采集新的视频流 | |
close | 结束共享内容,释放资源 |
创建Electron共享视频流 | |
获取Electron采集资源信息 | |
off | 取消监听事件 |
on | 监听事件 |
pause | 暂停分享 |
resume | 暂停分享 |
ContentTrack实例包含以下事件:
事件Key | 描述 |
监听可以开始推送共享内容事件,当遇到权限等原因被拒绝后,则收不到此信息 | |
监听结束共享内容事件,例如通过会控结束共享,则需要在此事件中结束本地共享内容 | |
监听轨道异常信息 |
小鱼易连Web SDK提供了本地日志模块,可以供开发者自定义创建日志模块或使用SDK内置的日志模块,通过设置日志等级,可以控制输出到控制台的内容,同时提供了上传/下载日志功能,方便开发者遇到问题时能快速反馈日志;
无论是自定义日志还是SDK内置的日志模块,调用日志模块提供的方法时,会全量写入到本地日志文件中,不受日志等级的约束;
日志模块提供如下的方法:
方法 | 描述 |
debug | 控制台输出调试信息,并写入日志 |
下载日志数据到本地,可在浏览器控制台中调用 | |
error | 控制台输出错误信息,并写入日志 |
fatal | 输出致命信息,并写入日志 |
log | 控制台输出LOG信息,并写入日志 |
调试模式下,控制台输出日志的等级 | |
设置日志服务器地址 | |
上传日志到小鱼服务器 | |
warn | 控制台输出警告信息,并写入日志 |
小鱼易连Web SDK提供了一个Helper函数模块,方便开发者快速实现部分功能,提供了如下静态方法:
方法 | 描述 |
自定义布局,辅助计算参会者在旋转画面时的旋转信息 | |
获取浏览器支持的编解码器列表 | |
获取真实视频分辨率的宽高、比值 | |
辅助函数,用于切换音频输出设备 |