XY Web SDK是小鱼易连音视频通讯解决方案的Web端SDK,它是通过网页加载的JavaScript库,采用WebRTC技术,开发者可以使用XY Web SDK提供的API建立连接,实现实时多人音视频通话。
提示
当前文档适用于XY Web SDK v2.x-v3.x版本,建议使用v4版本SDK,整体功能更强大、稳定;
XYRTC
是Web SDK中可调用方法的总入口,提供如下能力:
方法 | 描述 |
version | 【静态属性】获取XY Web SDK版本 |
创建一个音视频客户端对象(client),提供实时音视频通话框架能力,一个会议创建一个Client模块即可; | |
创建一个音视频流对象(stream),用来管理各种媒体流,一个会议创建一个Stream模块即可; | |
无登录模式设置鉴权信息 | |
检测浏览器是否支持WebRTC能力 | |
检测浏览器是否支持分享Content能力 | |
日志模块,提供不同的日志模式、下载/上传功能 | |
设置SDK国际化语言 | |
【会外】设置功能使用,关闭Stream流,预览 | |
【会外】设置功能使用,用于切换输出音频设备 |
音视频通话客户端对象 client
通过 createClient() 创建,代表一次音视频会话,一个 client
对象代表一个本地客户端,一般一次入会只需要创建一个 client
对象即可;
方法 | 描述 |
配置SDK功能开关 | |
监听事件,详见 client 事件 模块 | |
取消监听事件 |
方法 | 描述 |
小鱼用户账号登录(即将废弃,建议使用loginXYAccount方法) | |
第三方账号登录 | |
三方用户统一认证-小鱼用户账号登录 | |
三方用户统一认证-Token登录 |
方法 | 描述 |
发起会议呼叫 | |
推送本地流,开始推拉流 | |
挂断会议,销毁资源 |
方法 | 描述 |
自定义布局,用于请求参会者的视频流,可以配置分辨率和帧率; | |
自定义布局,v2.0.0 - v2.0.1版本用于请求参会者的视频流,可以配置分辨率和帧率; | |
自定义布局,自动轮询请求参会者的视频流; | |
自动布局,用于在会中动态切换显示/隐藏本地画面 | |
自动布局,翻页查看更多参会者画面 | |
自动布局,设置某个参会者(rosterId)全屏显示画面 | |
设置视频播放组件,SDK控制视频的播放和渲染 | |
设置音频播放组件,SDK控制音频的播放 | |
切换显示布局模式,默认演讲者模式(SPEAKER) | |
自动布局,用于自定义触发更新Loyout中的位置和大小信息 | |
自动布局,设置移动端布局方向 | |
自动布局,主持人设置会议级别焦点画面 | |
自动布局,支持人取消会议级别焦点画面 | |
设置自动布局相关配置 |
方法 | 描述 |
麦克风静音 | |
取消麦克风静音 | |
关闭摄像头 | |
开启摄像头 | |
配置是否自动执行切换设备操作 | |
停止共享屏幕 | |
订阅获取更多参会者数据,通过增量消息通过出/入会成员 | |
开启通话字幕 | |
停止通话字幕 | |
设置通话字幕本地说话的语言 | |
开启云端录制 | |
停止云端录制 | |
启动多分组通道,进行多分组请流和资源创建 | |
停止多分组通道,销毁资源 | |
关联audio track与mediaGroupId通道,从而向特定通道发送音频数据 | |
设置移动端摄像头方向 | |
AI-播放虚拟数字人设备(VEP) | |
AI-停止播放虚拟数字人设备(VEP) |
方法 | 描述 |
举手发言 | |
取消举手 | |
结束发言 | |
获取当前会议会控地址 | |
通知会控打开/关闭摄像头结果 | |
会中修改名称 |
方法 | 描述 |
切换 Debug 模式,推送收发路流的状态数据(带宽、帧率、码率、分辨率等)信息 | |
发送自定义消息 | |
获取本地的参会者数据,包含用户基本信息,会议状态信息; |
事件名称 | 描述 |
实时推送参会者列表数据(最多 20 路) | |
清除举手状态通知 | |
退出会议消息 | |
异常错误消息 | |
呼叫状态 | |
【AUTO 布局】参会成员 Layout 列表数据 | |
【AUTO 布局】Layout 显示容器大小数据 | |
【CUSTOM 布局】所有 Video Track 列表数据 | |
所有Audio Track列表数据,需要业务监听并全部播放 | |
【CUSTOM 布局】布局结果列表数据,包含 streamId,用于在 video-track 列表中匹配画面数据。 | |
【CUSTOM 布局】参会者手机屏幕旋转数据 | |
本地麦克风状态 | |
本地摄像头状态 | |
当前正在分享 content 的用户详细信息 | |
当前正在分享 content 的用户 ID | |
会控消息 | |
会控字幕消息 | |
当前会议总人数 | |
语音激励成员数据(正在说话的人) | |
会控开启呼叫等待、等候室状态通知 | |
会议质量数据(internels),包含接收/发送方的分辨率、带宽、码率、帧率、丢包等调试数据 | |
麦克风、摄像头权限状态 | |
初始入会时,返回当前选中的输入&输出设备数据 | |
设备变动时,返回变动后的输入&输出设备列表数据以及需要切换到最新的输入输出设备数据 | |
获取所有参会者成员信息,用于信息展示,增量推送数据 | |
查看会议室信息 | |
自动布局时上报参会者分页数据 | |
参会者出入会消息 | |
会议人员数量/Content 数量/主会场数量发生变化事件 | |
上报全屏对象的roster id信息,退出全屏则为空; | |
通话字幕内容 | |
录制状态 | |
录制结果 | |
录制权限 | |
多分组通道信息 | |
接收远端推送的自定义消息 | |
用户和对应个人云会议室信息数据 | |
推送实时讲话人信息,每秒2条消息推送 | |
会控开启/关闭摄像头消息、提示消息 | |
监听本地端网络质量等级 | |
监听远端参会者网络质量等级 | |
焦点画面Roster信息 | |
【AUTO】当前布局模式 | |
布局状态上报,当前仅上报是否在轮询中状态 | |
会控消息,包含联席主持人、改名权限等 | |
AI-数字人状态通知 |
stream 接口提供的方法用于定义音视频流对象的行为。 通过 createStream() 创建 stream 对象。一个 stream 对象指通话中发布的本地音视频流和远端音视频流对象。
方法 | 描述 |
监听事件,详见 stream 事件 模块 | |
取消监听事件 | |
Stream 流初始化 | |
关闭Stream对象 | |
切换扬声器设备 | |
切换摄像头、麦克风设备 | |
获取本地麦克风实时音量大小 | |
清理音量 Context 对象,下次会重新实例化音量对象 | |
创建分享屏幕的流对象 | |
获取Electron平台上可分享的输入源列表 | |
创建Electron分享流对象 | |
获取所有MediaStream数据 | |
获取本地预览的画面MediaStream对象 |
事件名称 | 描述 |
创建视频流的类型 | |
本地视频流 | |
是否结束屏幕共享 | |
是否开始屏幕共享 |
提供不同的日志输出模式、通过 Level 控制日志输出类型、记录会议详细数据、提供下载/上传日志功能。
日志类型:
方法 | 描述 |
设置日志输出等级 | |
debug 方法,输出所有 API 日志信息 | |
log 方法,输出 INFO、WARNING、ERROR 级别的日志信息 | |
warn 方法,输出 WARNING 和 ERROR 级别的日志信息 | |
error 方法,输出 ERROR 级别的日志信息 | |
允许日志上传 | |
禁用日志上传 | |
下载日志到本地 | |
上传日志到小鱼日志服务器 | |
设置日志服务器 |