McuClient_v.1.0.2_API.md 12.8 KB

McuClient API参考说明


##McuClient 目录 ##

  • 创建McuClient对象

  • McuClient接口

  • McuClient回调事件

  • ErrorCode 错误码查询


##使用步骤说明 ##

  1. 创建McuClient对象
  2. McuClient初始化init
  3. 添加MessageTypes中的事件监听(接收各个模块的消息)
  4. McuClient加入会议
  5. 加入会议成功之后可以调用其他接口和监听事件

##创建McuClient对象 ## 只创建一次

示例代码

window.onload=function(){
    //创建client,这是必须的第一步
    const client=MCUClientEngine.createMcuClient();
    //获取事件监听消息定义
    const MessageTypes=MCUClientEngine.MessageTypes;
}

McuClient接口

初始化

client.init (paramInfo,onSuccess,mcuErrorEventHandler)

client创建完成之后第一步需要初始化。

示例代码

var paramInfo={ 
    "meetingNumber":123456,
    "portal":"127.0.0.1:80",
    "usertRole":"normal",
    "userID":0,
};
//初始化
client.init(paramInfo,onSuccess,mcuErrorEventHandler);
function onSuccess(callbackData){
    //初始化成功回调
    /*{
    "siteId": "h5test",
    "passwordRequired": true,
    "md5": "de399d5540b3da2fbc1eb0a770d4fd66",
    "code": 0,
    "msType": 1
    }*/
};
function mcuErrorEventHandler(callbackData){
    //整个MCUClient中Error异常监听
    //返回值callbackData的结构为{"code":errorCode,"reson":""}
    //errorCode的列表在文档最后面的 ErrorCode错误码查询
};

参数名称

类型

该对象包含以下属性

paramInfo

对象

  • meetingNumber:(必选)Number 课堂号
  • portal:(必选)String IP地址
  • usertRole:(可选) String 用户的身份,5种类型,默认是normal ;host(主持人/老师)、presenter(主讲人)、assistant(助教)、normal(普通角色/学生),record(暂时没用)
  • userId:(可选) String 第三方用户id,默认是0

onSuccess

Function

(必选) Function 初始化成功回调函数,返回值:{"siteId":"h5test","passwordRequired":true,"md5":"de399d5540b3da2fbc1eb0a770d4fd66","code":0,"msType":1}

mcuErrorEventHandler

Function

(必选) Function 整个MCUClient中Error异常监听
### 加入会议 ### #### client.joinClass (paramInfo,onSuccess) #### client初始化成功之后,加入会议。 示例代码 var paramInfo={ "userName":"大名",//自己的名字,在列表中显示 "password":"123321",//课堂密码,如果设置了密码需要验证 }; //加入会议 client.joinClass(paramInfo,onSuccess); function onSuccess(callbackData){ //加入会议成功回调 /*{ "siteId": "h5test", "confId": 1292388778, "h5Module": 0, "nodeId": 1484789938, "topNodeID": 101, "userRole": "normal", "role": 1, "isHost": false, "classRole": 0, "userId": "0", "userName": "cccccc", "password": "222222", "userType": 8, "passwordRequired": true, "md5": "b36da144521b70d89e72993cd1117b5b", "msType": 1, "portal": "112.126.80.182:80", "mcuDelay": 3000, "MCUServerIP": "123.56.73.119", "MCUServerPort": "7001", "maxVideoChannels": 1, "maxAudioChannels": 1, "maxMediaChannels": 2 }*/ };

参数名称

类型

该对象包含以下属性

paramInfo

对象

  • userName:(必选)String 进入课堂的名字
  • password:(可选)String 进入课堂的密码,如果课堂不设置密码就不需要,设置了密码的情况下,进入课堂需要输入密码,根据初始化回调的参数passwordRequired来判断

onSuccess

Function

(必选) Function 成功回调函数
### 离开会议 ### #### client.leaveClass() #### 离开会议 ### 获取当前的状态 ### #### client.mcuClientStatus() #### 获取当前的状态 示例代码 var callbackData=client.mcuClientStatus(); //返回一个对象 //{code:0,message:"XXXXXX"}

参数名称

类型

该对象包含以下属性

callbackData

对象

  • code:Number
  • 0 //SDK 未初始化 1 //未加入会议 2 //已经加入会议 3 //已经离开会议 4 //未知状态
  • message:String 状态的描述,对应code,默认为空
### 发送消息 ### #### client.sendChatMsg(paramInfo) #### 发送聊天消息 示例代码 var paramInfo={ "message":"需要发送的内容", "to":0 }; client.sendChatMsg(paramInfo);

参数名称

类型

该对象包含以下属性

paramInfo

对象

  • message:(必选)String 消息内容
  • to:(可选) Number 接收消息的人的ID,默认值是0(所有人都)
---------- ## McuClient 回调事件 ## ### 会议日志信息 事件回调 ### 示例代码 client.on(MessageTypes.CLASS_SHOW_DETAIL, function(callbackData){ //返回值 /*{ "repeatmonthweekweek": 0, "endmode": 0, "repeatweek": "", "endcount": 1, "errorCode": 0, "cycle": 0, "repeatmonthday": 0, "frequency": 1, "repeatday": 0, "meetingName": "mcuClient", "repeatmode": 0, "finalenddate": "", "meetingContent": "", "beginTime": "2017-01-16 13:00:00", "endTime": "2017-01-31 15:00:00", "monthType": 0, "category": "", "repeatmonthweekday": 0, "status": 1 }*/ }); ### 会议有人加入 事件回调 ### 示例代码 client.on(MessageTypes.CLASS_INSERT_ROSTER,function(callbackData){ //返回值 /*{ "nodeId": 1483947664, "nodeData": { "nodeId": 1483947664, "name": "cccccc", "role": 1, "level": 0, "audioRecords": [], "videoRecords": [], "status": null, "userData": { "qq": "", "skype": "", "mobile": "" }, "userId": "0", "handUpTime": null, "deviceType": 3, "mobileDirection": null } }*/ }); ### 会议有人离开 事件回调 ### 示例代码 client.on(MessageTypes.CLASS_DELETE_ROSTER,function(callbackData){ //{"nodeId":1234} }); ### 关闭会议 事件回调 ### 示例代码 client.on(MessageTypes.CLASS_EXIT, function(callbackData){ //..... }); ### 收到聊天消息 事件回调 ### 示例代码 client.on(MessageTypes.CHAT_RECEIVE, function(callbackData){ //返回值 /*{ "fromNodeID": 1484207995, "toNodeID": 0, "message": "消息内容", "fromName": "发送消息人的名字", "fromRole": 0 }*/ }); ### 视频显示 事件回调 ### 示例代码 client.on(MessageTypes.VIDEO_RECEIVE, function(callbackData){ //..... }); ### 文档 事件回调 ### 示例代码 client.on(MessageTypes.DOC_SHOW, function(callbackData){ //..... }); ### 文档笔记 事件回调 ### 示例代码 client.on(MessageTypes.DOC_ANNOTATION,function(callbackData){ //..... }); ### 删除文档 事件回调 ### 示例代码 client.on(MessageTypes.DOC_DEL,function(callbackData){ //..... }); ---------- ## ErrorCode 错误码查询 ##

错误代码

值(code)

描述(reson)

ERR_CLASS_INIT_PAEAM 100

初始化参数错误

ERR_CLASS_INIT_NETWORK 101

初始化网络错误

ERR_CLASS_INIT_PROTOCOL 102

初始化协议错误

ERR_CLASS_INIT_FAILED 103

初始化验证失败

ERR_CLASS_JOIN_NETWORK 200

加入会议网络错误

ERR_CLASS_JOIN_PROTOCOL 201

加入会议化协议错误

ERR_CLASS_JOIN_FAILED 202

加入会议化异常错误

ERR_CLASS_JOIN_PARAM 203

加入会议参数错误

ERR_CLASS_JOIN_FULL 204

人数已满

ERR_CLASS_MD5_WRONG 205

MD5验证失败

ERR_CLASS_PASSWORD_WRONG 206

密码错误

ERR_CLASS_JOIN_CONFILICT 207

已经在其它地方登陆

ERR_GET_CLASS_DETAIL 300

获取classDetail失败

ERR_GET_MEETING_PARAML 301

获取MeetingParam失败

ERR_NETWORK 10000

网络错误

ERR_UNKNOWN 10001

未知错误