视频聊天室
一、加载AnyChat for Web SDK库:
首先将anychatevent.js文件和anychatsdk.js文件加载到页面中。
anychatevent.js 为事件回调
anychatsdk.js 为常量定义和方法定义
用户只需对网页进行布局,布局完成后对SDK中方法进行调用,输入参数获得结果进行操作即可。
AnyChat SDK的所有功能函数都有个返回值,用户可根据常量定义获得函数返回值的意义,从而进行相应的操作。
二、初始化SDK
网页加载完成后进行初始化插件。
BRAC_InitSDK(apilevel); // 初始化SDK,返回出错代码
根据系统返回错误代码,与常量进行对比,获得结果
var GV_ERR_SUCCESS = 0; // 成功
var GV_ERR_PLUGINNOINSTALL = 1010000; // 插件没有安装
var GV_ERR_PLUGINOLDVERSION = 1010001; // 插件版本太低
三、登录系统
初始化成功则显示登录界面
初始化失败则显示提示层
在登录界面 设置 中进行设置服务器地址和端口号。
点击 登录 按钮
BRAC_Connect(lpServerAddr, dwPort); // 连接服务器
BRAC_Login(lpUserName, lpPassword, dwParam); // 登录系统
四、进入大厅
登录成功进入主界面
登录成功后系统会触发回调函数
OnAnyChatLoginSystem(dwUserId, errorcode); // 登录系统回调函数
用户可在回调函数中作出相应动作,例如
DisplayLoadingDiv(false);
AddLog("OnAnyChatLoginSystem(userid=" + dwUserId + ", errorcode=" + errorcode + ")", LOG_TYPE_EVENT);
ShowHallDiv(true);
显示主界面,隐藏登录界面和加载等待层
五、进入房间
用户可以通过方法进入指定房间
BRAC_EnterRoom(dwRoomid, lpRoomPass, dwParam); // 进入房间
1.打开本地视频音频
进入房间后系统触发回调函数
OnAnyChatEnterRoom(dwRoomId, errorcode); // 进入房间回调函数
在该回调函数中应作以下动作
BRAC_UserCameraControl(mSelfUserId, 1); // 打开本地视频
BRAC_UserSpeakControl(mSelfUserId, 1); // 打开本地语音
ShowNotifyMessage("Welcome use AnyChat, successfully enter the room:" + dwRoomId, NOTIFY_TYPE_SYSTEM);
// 设置本地视频显示位置
BRAC_SetVideoPos(mSelfUserId, GetID("AnyChatLocalVideoDiv"), "ANYCHAT_VIDEO_LOCAL");
// 设置远程视频显示位置(没有关联到用户,只是占位置)
BRAC_SetVideoPos(0, GetID("AnyChatRemoteVideoDiv"), "ANYCHAT_VIDEO_REMOTE");
2.发送接收文本信息
房间界面右下角为文本信息框,发送文本信息和接收文本信息将在这里显示。
发送文本信息需调用方法
BRAC_SendTextMessage(dwUserId, bSecret, lpMsgBuf); // 发送文本信息
接收到用户发来信息系统触发函数
OnAnyChatTextMessage(dwFromUserId, dwToUserId, bSecret, lpMsgBuf, dwLen); // 接收文本信息
3.获取在线用户
用户第一次进入房间时会触发函数
OnAnyChatRoomOnlineUser(dwUserCount, dwRoomId)
该方法只会在用户进入房间时触发一次,在该方法中调用函数,获得在线用户
BRAC_GetOnlineUser(); // 获取当前房间在线用户列表
之后在线用户的变更系统会通过回调函数 进行通知,bEnterRoom = 1 代表有新用户进入,否则为用户退出房间
OnAnyChatUserAtRoom(dwUserId, bEnterRoom); // 用户进入(离开)房间
4.打开远程视频
进入房间时远程视频为关闭状态,开启需要在左上角单击在线用户,调用以下函数
BRAC_UserCameraControl(userid, 1); // 请求对方视频
BRAC_UserSpeakControl(userid, 1); // 请求对方语音
// 设置远程视频显示位置
BRAC_SetVideoPos(userid, GetID("AnyChatRemoteVideoDiv"), "ANYCHAT_VIDEO_REMOTE");
5.退出房间
BRAC_LeaveRoom(); // 退出房间
6.退出系统
BRAC_Logout(); // 注销系统
7.其他功能
此外 AnyChat SDK 还提供了其他的各种功能函数。例如 查询版本号、对用户相关状态的查询、对设备各项参数进行设置等等...
AnyChat SDK 实例下载:http://download.csdn.net/detail/bairui_allen/5093078