一对一视频通话(VOIP)

7.1 获取StarRtc.StarRoomSDK实例,实现回调函数

function voipCallBack(data, status, oper)
{
var thisRoom = data.obj;
switch (status){
case "connect success":
//连接成功
break;
case "connect failed":
case "connect closed":
//连接失败
break;
case "onWebrtcMessage":
//视频接口消息
switch(data.type)
{
case "streamCreated":
//本地视频流创建,data.status == "success"为成功
break;
case "voipStreamReady":
//远端视频流准备,data.status == "success"为成功
//可以使用data.streamObj对象
break;
}
break;
case "onVoipMessage":
switch(data.type)
{
case "voipRefuse":
//对方拒绝了通话
break;
case "voipHangup":
//对方挂断了通话
break;
case "voipConnect":
//voip接通
break;
case "voipBusy":
//对方正忙
break;
case "voipSingleMsg":
//收到voip消息
break;
}
break;
}
}

/**
* 创建voip房间
* @param _oper 操作类型:call,呼叫者;response,应答者
* @param _userCallback 消息回调
* @param _userData 存储voip房间对方id信息,结构为{"roomInfo":{"targetId":对方id}}
*/
currRoom = StarRtc.Instance.getVoipRoomSDK = function(_oper, _userCallback, _userData)

例:
currRoom = StarRtc.Instance.getVoipRoomSDK("call", voipCallBack, {"roomInfo":{"targetId":""}});

7.2 StarRtc.StarRoomSDK VOIP 部分 API 说明

/**
* 设置登录信息
* @param _agentId appID
* @param _userId userID
* @param _authKey authKey
*/
StarRtc.StarRoomSDK.login = function (_agentId, _userId, _authKey)

/**
* 连接voip
*/
StarRtc.StarRoomSDK.sigConnect = function()

/**
* 断连voip
* @param flag 是否主动断开连接的标志为,用于判断重连
*/
StarRtc.StarRoomSDK.sigDisconnect = function(flag)

/**
* 创建本地视频流
* @param streamOption 流配置(分辨率等)
*/
StarRtc.StarRoomSDK.createStream = function(streamOption)

/**
* 加入voip
*/
StarRtc.StarRoomSDK.joinRoom = function()

/**
* 主动离开voip
*/
StarRtc.StarRoomSDK.leaveRoom = function(_flag)

/**
* 发送voip消息
* @param msg 消息
*/
StarRtc.StarRoomSDK.sendVoipMsg = function(msg)

/**
* 获取是主动断开还是被动断开
*/
StarRtc.StarRoomSDK.activeDisconnect = function()

7.3 StarRtc.Instance VOIP 部分 API 说明

/**
* 发送voip控制消息
* @param _targetId 对方用户Id
* @param _code 控制码
*/
StarRtc.Instance.sendVoipCtrlMsg = function(_targetId,_code)

/**
* 发送voip呼叫消息
* @param _targetId 对方用户Id
*/
StarRtc.Instance.sendVoipCallMsg = function(_targetId)

/**
* 发送voip拒绝消息
* @param _targetId 对方用户Id
*/
StarRtc.Instance.sendVoipRefuseMsg = function(_targetId)

/**
* 发送voip挂断消息
* @param _targetId 对方用户Id
*/
StarRtc.Instance.sendVoipHungupMsg = function(_targetId)

/**
* 发送voip忙碌消息
* @param _targetId 对方用户Id
*/
StarRtc.Instance.sendVoipBusyMsg = function(_targetId)

/**
* 发送voip同意连接消息
* @param _targetId 对方用户Id
*/
StarRtc.Instance.sendVoipConnectMsg = function(_targetId)

/**
* 设置回调,用于接管StarRtc.Instance.login方法中设置的回调中的onVoipMessage部分
* @param _callback 回调函数
*/
StarRtc.Instance.setIMExtraback = function(_callback)