WebSdk 接口文档 (version 1.1.1)
环境配制
1.引入文件
1.1.script标签引入
1.2.npm+import引入
// 安装 npm i -D zby_web_sdk // 引入 ;
1.3.requirejs引入
;
2.参数配制API接口
初始化 | 初始化WebSdk | ||||||||
接口 | let zbyWeb = new WebSdk(options); // 创建SDK对象,传入相关参数 | ||||||||
zbyWeb.initWeb(); // 初始化SDK,此接口要在绑定监听事件后调用 | |||||||||
字段 | 参数 | 类型 | 描述 | 备注 | |||||
class.orgId | string | 机构ID |
必填 |
||||||
class.classId | string | 班级ID | 必填 | ||||||
class.courseId: | string | 课堂(课节)id | 必填 | ||||||
class.classType: | string | 口令课(code),密码课(token) | 必填 | ||||||
class.teacherId | string | 教师ID | 必填 | ||||||
class.assistId, | string | 辅导老师ID | 可选 | ||||||
class.videoMode | string | 直播('1'),回放('2') | 必填 | ||||||
class.chapterId | string | 直播讲(章节)ID - 数据上报 | 选填 | ||||||
user. userId | string | 用户ID | 必填 | ||||||
user.userImg | string | 头像地址 | 必填 | ||||||
user.username | string | 用户姓名 | 必填 | ||||||
user.usercode | string | 用户口令, 口令课 | 必填 | ||||||
user.usertoken | string | 用户token, 密码课 | 必填 | ||||||
video.Id | string | 播放器的video的ID | 必填 | ||||||
video.width | int | 播放器的宽度(px) | 选填 | ||||||
video.height | int | 播放器的高度(px) | 选填 | ||||||
video.controls | Boolean | 播放器是否显示控制条 默认为true | 选填 | ||||||
datas.part_id | string | 部门ID | 必填 | ||||||
datas.project_id | string | 项目ID | 必填 | ||||||
datas.cmd_id | string | 协议ID | 必填 | ||||||
datas.is_test | Boolean | 是否是测试环境 | 必填 |
课堂信息 | |||||
请求接口 |
描述 | 备注 | |||
---|---|---|---|---|---|
zbyWeb.disConnect() | 断开信道连接 | ||||
zbyIm.sendQuestion(s) | 提交答题器 答案 |
s:string 选择题: A,B,C,D 判断题: 正确:R,错误:W 听懂: 能:Y,不能:N |
|||
回调接口 | 描述 | 备注 | |||
connected | 信道连接成功 |
zbyWeb.on('connected', function () { }) |
|||
disconnec | 信道掉线 |
zbyWeb.on('disconnect', function () { } |
|||
forceExit | 强制退出(用户被踢) |
zbyWeb.on('forceExit', function () { }); |
|||
notice | 公告内容变更 |
zbyWeb.on('notice', function (s) { // s: 公告内容 String }); |
|||
classStarted | 课程开始(上课) |
zbyWeb.on('classStarted', function (d) { //d:int (课程开始时间)时间缀 }); |
|||
classEnded | 课程结束(下课) |
zbyWeb.on('classEnded', function (d) { //d:int (课程结束时间)时间缀 }); |
|||
cameraOpened | 摄像头开启 |
zbyWeb.on('cameraOpened', function () { }); |
|||
cameraClosed | 摄像头关闭 |
zbyWeb.on('cameraClosed', function () { }); |
|||
questionStart | 收到开始答题消息 |
zbyWeb.on('questionStart', function (s) { s:{ qid: string题目id, tid: int 目标id, type: 题目类型:string //xz:选择,pd:判断,td:是否听懂 } }); |
|||
questionEnd | 收到结束答题消息 |
zbyWeb.on('questionEnd', function () { }); |
|||
addStream | 开始推流 |
zbyWeb.on('addStream', function (data) { /** data:{ streamUrl :string流id 包括课件和老师头像区的流 screenStreamUrl:string 课件流id teacherStreamUrl: string老师头像区流id } */ }); |
聊天信息 | |||||
请求接口 |
描述 | 备注 | |||
---|---|---|---|---|---|
zbyWeb.sendMsg(msg,cb) | 发送聊天消息 |
zbyWeb.sendMsg = function(msg, cb){} msg: string 待发送的消息 cb: function 发送成功回调函数 |
|||
回调接口 | 描述 | 备注 | |||
message | 收到聊天消息 |
zbyWeb.on('message', function (data) { data : { history: 是否是历史消息 true/false username: string用户名 avatar: string用户头像地址 message:string 消息内容 纯文本消息则显示消息内容、 若为图片消息 则为图片的img标签 } }); |
|||
onlineCounts | 在线人数 |
zbyWeb.on('onlineCounts', function (i) { //包括老师 //i:int }); |
|||
chatEnable | 聊天启用 |
zbyWeb.on('chatEnable', function () { }); |
|||
chatDisable | 聊天禁用 |
zbyWeb.on('chatDisable', function () { }); |
|||
statusChange | 状态改变 (老师进出教室等文字提示,显示到聊天区域) |
zbyWeb.on('statusChange', function (s) { s:枚举值 /* [ { code : '01', msg : 'control信道连接失败!' }, { code : '02', msg : 'message信道连接失败!' }, { code : '03', msg : '老师进入教室' }, { code : '04', msg : '老师离开教室' }, { code : '05', msg : '已开启全体禁言' }, { code : '06', msg : '您已被禁言' }, { code : '07', msg : '已取消全体禁言' }, { code : '08', msg : '您已被取消禁言' }, { code : '09', msg : '课程已开始' }, { code : '10', msg : '课程已结束' }, { code : '11', msg : '您已进入教室' }] */ }); |
|||
classEnded | 课程结束(下课) |
zbyWeb.on('classEnded', function (d) { //d:int (课程结束时间)时间缀 }); |
|||
cameraOpened | 摄像头开启 |
zbyWeb.on('cameraOpened', function () {}); |
|||
cameraClosed | 摄像头关闭 |
zbyWeb.on('cameraClosed', function () {}); |
|||
questionStart | 收到开始答题消息 |
zbyWeb.on('questionStart', function (s){ s:{ qid:题目id, tid:目标id, type:题目类型 //xz:选择,pd:判断,td:是否听懂 } }); |
|||
questionEnd | 收到结束答题消息 |
zbyWeb.on('questionEnd', function () {}); |
|||
addStream | 开始推流 |
zbyWeb.on('addStream', function (data) { /** data:{ streamUrl :流id 包括课件和老师头像区的流 screenStreamUrl: 课件流id teacherStreamUrl: 老师头像区流id }*/ }); |
拉流信息 | |||||
请求接口 |
描述 | 备注 | |||
---|---|---|---|---|---|
zbyWeb.play(); | 播放(回放) | ||||
zbyWeb.playCurrent(); | 播放(直播) | ||||
zbyWeb.pause(); | 暂停 | ||||
zbyWeb.width(w); | 设置宽度 | w:int | |||
zbyWeb.height(h); | 设置高度 | h:int | |||
zbyWeb.dispose() | 销毁 | ||||
zbyWeb.changeLine(i) | 手动切换线路 | i: int0、1、2... | |||
zbyWeb.requestFullscreen() | 进入全屏 | ||||
zbyWeb.exitFullScreen() | 退出全屏 | ||||
zbyWeb.currentTime(i) | 设置播放时间 仅限回放时 回放调进度条也调用该接口 | i: int 秒 将跳到该秒播放 | |||
zbyWeb.getFullTime() | 获取回放总时间 返回总时间 | 返回:number | |||
zbyWeb.getVolume() | 获取当前音量 | number:0~1 | |||
zbyWeb.setVolume(i) | 设置视频播放音量 | i: number 0~1 | |||
回调接口 | 描述 | 备注 | |||
videoStatus | video 播放状态 |
zbyWeb.on('videoStatus', function (e,obj) { switch (e){ case 'ready': console.log("播放器初始化完毕") break; case 'waiting': console.log("加载中") break; case 'playing': console.log("开始播放") break; case 'buffernull': console.log("开始卡顿") break; case 'bufferplay': console.log("结束卡顿") break; case 'seriousbuffer': console.log("严重卡顿") break; case 'currentLine': console.log("当前线路:",obj); //obj: { lineid: int 线路id name: String 线路名 url: String 流地址 streamid: String 流id, supplier: int 供应商id } break; case 'autoChangeLine': console.log("自动切换线路中") break; case 'error': console.log("流地址错误") break; case 'pause': console.log("暂停") break; case 'play': console.log("将要开始播放") break; case 'timeupdate': console.log("当前播放时间",obj) break; } }); |
|||