McuClient API.md
10.6 KB
McuClient API参考说明
##McuClient 目录 ##
创建McuClient对象
McuClient方法
McuClient回调事件
ErrorCode 错误码查询
##使用步骤说明 ##
- 创建McuClient对象
- McuClient初始化init
- 添加MessageTypes中的事件监听(接收各个模块的消息)
- McuClient加入会议
- 加入会议成功之后可以操作客户端界面
##创建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 | 对象 |
|
|
||
|
||
|
||
|
||
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 | 对象 |
|
|
||
|
||
onSuccess |
Function |
(必选) Function 成功回调函数 |
离开会议
client.leaveClass()
离开会议
获取当前的状态
client.currentStatus()
获取当前的状态
示例代码
var callbackData=client.currentStatus();
//返回一个对象
//{code:0,message:"XXXXXX"}
参数名称 |
类型 |
该对象包含以下属性 |
| callbackData | 对象 |
|
|
|
发送消息
client.sendChatMsg(paramInfo)
发送聊天消息
示例代码
var paramInfo={
"message":"需要发送的内容",
"to":0
};
client.sendChatMsg(paramInfo);
参数名称 |
类型 |
该对象包含以下属性 |
| paramInfo | 对象 |
|
|
|
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 错误码查询
MessageTypes.ERR_NETWORK=10000;//网络错误
MessageTypes.ERR_UNKNOWN=10001;//未知错误
//会议初始化失败的几种情况
MessageTypes.ERR_CLASS_INIT_PAEAM=100;//初始化参数错误
MessageTypes.ERR_CLASS_INIT_NETWORK=101;//初始化网络错误
MessageTypes.ERR_CLASS_INIT_PROTOCOL=102;//初始化协议错误
MessageTypes.ERR_CLASS_INIT_FAILED=103;//初始化验证失败
//加入会议失败的几种情况
MessageTypes.ERR_CLASS_JOIN_NETWORK=200;//加入会议网络错误
MessageTypes.ERR_CLASS_JOIN_PROTOCOL=201;//加入会议化协议错误
MessageTypes.ERR_CLASS_JOIN_FAILED=202;//加入会议化异常错误
MessageTypes.ERR_CLASS_JOIN_PARAM=203;//加入会议参数错误
MessageTypes.ERR_CLASS_JOIN_FULL=204;//人数已满
MessageTypes.ERR_CLASS_MD5_WRONG=205;//MD5验证失败
MessageTypes.ERR_CLASS_PASSWORD_WRONG=206;//密码错误
MessageTypes.ERR_CLASS_JOIN_CONFILICT=207;//已经在其它地方登陆
MessageTypes.ERR_GET_CLASS_DETAIL=300;//获取classDetail失败
MessageTypes.ERR_GET_MEETING_PARAML=301;//获取MeetingParam失败