Class: Room

Room

new Room()

Room构造函数。
Source:
Example
var room = new Room(roomId);

Methods

addCallback(type, callback)

房间级别的回调
Parameters:
Name Type Description
type RoomCallback 回调枚举标识
callback Object 回调方法名,可以自定义
Source:
Example
room.addCallback(RoomCallback.connection_status, onConnectionStatus);
room.addCallback(RoomCallback.connection_indicator,onConnectionIndicator);
room.addCallback(RoomCallback.room_status_notify, onRoomStatusNotify);

room.addCallback(RoomCallback.user_join_notify, onUserJoinNotify);
room.addCallback(RoomCallback.user_leave_notify, onUserLeaveNotify);
room.addCallback(RoomCallback.leave_indication, onLeaveIndication);
room.addCallback(RoomCallback.app_data_notify, onAppdataNotify);
room.addCallback(RoomCallback.user_data_notify, onUserDataNotify);
room.addCallback(RoomCallback.public_message, onPublicMessage);
room.addCallback(RoomCallback.private_message, onPrivateMessage);
room.addCallback(RoomCallback.public_data, onPublicData);
room.addCallback(RoomCallback.private_data, onPrivateData);

room.addCallback(RoomCallback.screen_sharing_ended, onScreenSharingEnded);


与服务器连接状态回调
param:status - 连接状态

function onConnectionStatus(status) {
   if (status == ConnectionStatus.connecting) {
	       //TODO 与服务器重连中
   } else if (status == ConnectionStatus.connected) {
	       //TODO 与服务器重连成功
   } else if (status == ConnectionStatus.connectFailed) {
	      //TODO 与服务器重连失败,需要重新登陆
  }
 }


与服务器连接指示器回调
param: connectionIndicator - 连接指示器

function onConnectionIndicator(connectionIndicator){
      if(room.isMcu()){
           if(connectionIndicator){
	              //connectionIndicator.connectionQuality;   连接质量指数
               //connectionIndicator.bitrate.downloadBitrate  流量-下载
               //connectionIndicator.bitrate.uploadBitrate    流量-上传
               //connectionIndicator.packetLoss.downloaPacketLoss  丢包率-下载
               //connectionIndicator.packetLoss.uploadPacketLoss   丢包率-上传
               //connectionIndicator.resolution     分辨率
               //connectionIndicator.bandwidth.downloadBandwidth  估计带宽-下载
               //connectionIndicator.bandwidth.uploadBandwidth    估计带宽-上传
               //connectionIndicator.localaddress   本地地址
               //connectionIndicator.localport      本地端口
               //connectionIndicator.remoteaddress  远程地址
               //connectionIndicator.remoteport    远程端口
               //connectionIndicator.transport     协议
           }
      }
}



参会者加会回调
param :users - 参会者数组

function onUserJoinNotify(users) {
   
}

参会者退会回调
param:opt - 退会类型
param:reason  - 退会原因
param:user - 退会用户

function onUserLeaveNotify(opt,reason,user) {

}



被踢出会议室
param:reason - 被踢原因
param:userId - 踢人的操作者

function onLeaveIndication(reason,userId) {

}

房间应用扩展字段回调
param: appData - 间应用扩展字段

function onAppdataNotify(appData) {

}

用户扩展内容更新回调
param:userData - 用户扩展内容
param:userId - 用户id

function onUserDataNotify(userData, userId ) {

} 
公聊回调
param : Message

function onPublicMessage(Message) {

}


私聊回调
param: Message

function onPrivateMessage(Message) {

}


公有透明通道回调
param:dataArrayBuffer - DataArrayBuffer对象
param:userId - user id

function onPublicData(dataArrayBuffer, userId) {

}


私有透明通道回调
param:dataArrayBuffer - DataArrayBuffer对象
param:userId - user id

function onPrivateData(dataArrayBuffer, userId) {

}


桌面共享关闭的回调
function onScreenSharingEnded(){

}

getAppData(key)

获得房间应用扩展字段信息
Parameters:
Name Type Description
key String key值
Source:

getHost()

返回会议主持人
Source:

getMaxAttendee()

返回允许的最大参加会议人数
Source:

getMaxAudio()

返回允许的最大音频路数
Source:

getMaxVideo()

返回允许的最大视频路数
Source:

getOwnerId()

返回会议建创者
Source:

getParticipants()

返回参会者数组
Source:

getPublishedCamera()

获取房间中所有摄像头视频
Source:

getPublishedCameraCount()

获取房间中所有摄像头视频数量
Source:

getPublishedScreen()

获取房间中所有共享屏幕窗口视频
Source:

getPublishedScreenCount()

获取房间中所有共享屏幕窗口视频数量
Source:

getRoomId()

返回房间号
Source:

getRoomTopic()

返回会议主题
Source:

getSelfUser()

返回自己对象
Source:

getSelfUserId()

返回自己对象的Id
Source:

getUsableAudio()

获取音频路数的剩余可用数。 逻辑:允许的最大音频路数 - 已发布的音频路数 注:主要用于界面显示用,具体打开的限制提示时,会采用服务器端的返回号来处理;
Source:

getUsableVideo()

获取视频路数的剩余可用数。 逻辑:允许的最大视频路数 - 已发布的视频路数 注:主要用于界面显示用,具体打开的限制提示时,会采用服务器端的返回号来处理;
Source:

getUser(userId)

通过用户ID获得用户对象
Parameters:
Name Type Description
userId String 用户的Id
Source:

hasUser(userId)

通过用户ID,判断用户对象是否存在。
Parameters:
Name Type Description
userId String 用户的Id
Source:

isMcu()

会议模式判断 true: mcu模式 false:P2P模式 TODO: 暂时用1,2,3,4, 后面会用enum
Source:

ismuteSpeaker()

获取屏蔽会议声音的当前状态
Source:

join(userId, userName, userData, password)

加会
Parameters:
Name Type Description
userId Object 用户的Id
userName Object 用户名
userData Object 用户扩展字段
password Object 会议密码或主持人密码
Source:

joinWithOEM(userId, userName, userData, password)

OEM加会
Parameters:
Name Type Description
userId Object 用户的Id
userName Object 用户名
userData Object 用户扩展字段
password Object 会议密码或主持人密码
Source:

kickoffUser(reason, userId)

踢人
Parameters:
Name Type Description
reason int 踢人原因
userId String 被踢用户id
Source:

leave(reason, kickoffOpt)

退会
Parameters:
Name Type Description
reason int 退会原因
kickoffOpt boolean 退会类型: true:被踢退会,false:主动退会,可以不填
Source:

muteSpeaker()

屏蔽会议声音
Source:

reJoin()

重新加会
Source:

sendPrivateData(dataBinary, userId)

发送私有透明通送
Parameters:
Name Type Description
dataBinary Object - ArrayBinary类型的内容 注: ArrayBinary : 二进制数据的原始缓冲区,该缓冲区用于存储各种类型化数组的数据
userId String 接受透明通送内容的用户ID
Source:

sendPrivateMessage(message, userId)

发送私聊消息
Parameters:
Name Type Description
message String 消息内容
userId String 接受消息的用户ID
Source:

sendPublicData(dataBinary)

发送公有透明通送
Parameters:
Name Type Description
dataBinary Object - ArrayBinary类型的内容 注: ArrayBinary : 二进制数据的原始缓冲区,该缓冲区用于存储各种类型化数组的数据
Source:

sendPublicMessage(message)

发送公聊消息
Parameters:
Name Type Description
message String 消息内容
Source:

setCameraResolutionOrFrameRate()

设置摄像头分辨率或帧率
Source:

setCameraResolutionWHOrFrameRate()

设置摄像头分辨率或帧率
Source:

unmuteSpeaker()

取消屏蔽会议声音
Source:

updateAppData(key, value)

更新房间应用扩展字段
Parameters:
Name Type Description
key Object - key值
value Object - value值
Source:

updateRoomStatus()

修改会议的状态
Source: