McuClient_v.1.0.1_API.md 12.3 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

未知错误