呼叫
更新时间: 2024/11/18 11:14:08功能介绍
实现用户之间的呼叫功能,流程是:A用户先创建一个房间,然后呼叫B用户,如果B用户接受呼叫,AB进入房间进行通讯。
注意:在登录成功后才可以使用呼叫功能
主叫
1.创建房间
- 调用接口:
//创建房间
CRVideo_CreateMeeting()
- 回调通知:
//创建房间成功
CRVideo_CreateMeetingSuccess.callback = function(meetObj, cookie){
//创建成功,获取房间信息meetObj,用于呼叫他人
}
//创建房间失败
CRVideo_CreateMeetingFail.callback = function(sdkErr, cookie){
//创建失败,可以弹出错误提示,不能再执行 进入房间
}
相关API请参考:
2.发起呼叫
注意:当用户A呼叫用户B时,只有B成功登录了,才可以收到被呼叫通知
- 调用接口:
//A发起呼叫,邀请用户B进入房间。
var callID = CRVideo_Call(UserID, meetObj, usrExtDat, cookie)
- 回调通知:
//呼叫操作成功响应
CRVideo_CallSuccess.callback = function(callID, cookie){
}
// 呼叫操作失败响应
CRVideo_CallFail.callback = function(callID, sdkErr, cookie){
console.log("呼叫他人失败"+ sdkErr);
}
呼叫他人相关API请参考:
3.接受/拒绝呼叫
- 回调通知:
// SDK通知用户 B 被他人 (即callerID) 呼叫
CRVideo_NotifyCallIn.callback = function(callID, meetObj, callerID, usrExtDat){
if(/* B 接受呼叫, 进入房间*/){
CRVideo_AcceptCall(callID, meetObj);
CRVideo_EnterMeeting3(meetObj.ID, cookie);
}else{// B 拒绝呼叫
CRVideo_RejectCall(callID);
}
}
//当 B 接受呼叫时,A会收到如下通知:
CRVideo_NotifyCallAccepted.call = function(callID, meetObj, usrExtDat){
//A此时可以进入房间
CRVideo_EnterMeeting3(meetObj.ID, cookie);
}
//当 B 拒绝呼叫时,A会收到如下通知:
CRVideo_NotifyCallRejected.call = function(callID,meetObj,usrExtDat){
console.log("客户拒绝呼叫了");
}
被呼叫者相关API请参考:
- CRVideo_NotifyCallIn
- CRVideo_AcceptCall
- CRVideo_AcceptCallSuccess
- CRVideo_AcceptCallFail
- CRVideo_RejectCall
- CRVideo_RejectCallSuccess
- CRVideo_RejectCallFail
呼叫者相关API请参考:
4.挂断
- 调用接口:
//挂断呼叫
CRVideo_HungupCall(callID)
- 回调通知:
//挂断呼叫成功
CRVideo_HangupCallSuccess.callback = function(callID, cookie){
console.log("挂断呼叫成功")
CRVideo_ExitMeeting(); //退出房间
}
//挂断呼叫失败
CRVideo_HangupCallFail.callback = function(callID, sdkErr, cookie){
console.log("挂断呼叫失败!错误码:"+ sdkErr);
}
//通知被他人挂断
CRVideo_NotifyCallHungup.callback = function(callID, usrExtDat){
CRVideo_ExitMeeting(); //退出房间
}
相关API请参考:
- CRVideo_HungupCall
- CRVideo_ExitMeeting
- CRVideo_HangupCallSuccess
- CRVideo_HangupCallFail
- CRVideo_NotifyCallHungup
被叫
1.被呼叫
- 回调通知:
// SDK通知用户 B 被他人 (即callerID) 呼叫
CRVideo_NotifyCallIn.callback = function(callID,MeetInfoObj,callerID,userExtDat){
}
相关API请参考:
2.接受/拒绝呼叫
- 调用接口:
//接受呼叫
CRVideo_AcceptCall(callID, meetObj, "","");
//拒绝呼叫
CRVideo_RejectCall(callID, "", "");
- 回调通知:
CRVideo_AcceptCallSuccess.callback = function(callID,cookie){
//接受呼叫成功处理
}
CRVideo_AcceptCallFail.callback = function(callID,sdkErr,cookie){
//接受呼叫失败处理
}
CRVideo_RejectCallSuccess.callback = function(callID,cookie){
//拒绝成功处理
}
CRVideo_RejectCallFail.callback = function(callID,sdkErr,cookie){
//拒绝失败处理
}
被呼叫者相关API请参考:
- CRVideo_AcceptCall
- CRVideo_AcceptCallSuccess
- CRVideo_AcceptCallFail
- CRVideo_RejectCall
- CRVideo_RejectCallSuccess
- CRVideo_RejectCallFail
3.免打扰
如果用户当前不希望被呼叫,可以把自己的状态设置为免打扰,注意在免打扰状态下不会被呼叫,但是可以主动发起呼叫。
- 调用接口:
//开启免打扰
CRVideo_SetDNDStatus(1);
//关闭免打扰
CRVideo_SetDNDStatus(0);
- 回调通知:
//设置免打扰状态操作成功响应
CRVideo_SetDNDStatusSuccess.callback = function(cookie){
}
//设置免打扰状态操作失败响应
CRVideo_SetDNDStatusFail.callback = function(sdkErr, cookie){
console.log("设置免打扰状态操作失败,错误码:" + sdkErr);
}
相关API请参考: