呼叫

功能简介: 实现用户之间的呼叫功能,流程是:A用户先创建一个房间,然后呼叫B用户,如果B用户接受呼叫,AB进入房间进行通讯。

注意:在登录成功后才可以使用呼叫功能。


主叫方:

  1. 发起呼叫
  2. 呼叫被接受/拒绝

被叫方:

  1. 被呼叫
  2. 接受/拒绝呼叫

主叫方

1. 发起呼叫

呼叫发起方, 发送呼叫请求。

  • 调用接口:
// 设置管理回调(账号登陆、房间管理、呼叫管理)
CloudroomVideoMgr.getInstance().registerCallback(mMgrCallback);

//开始呼叫,meetInfo为之前创建的房间对象
string userID = "user_000007";
string callID = CloudroomVideoMgr.getInstance().call(userID, meetInfo, "", "");
  • 回调通知:
//呼叫成功发出,等待对方响应
@Override
void callSuccess(String callID, int meetID, String meetPswd, String cookie) {
	//...
}

//呼叫发出失败
@Override
void callFail(String callID, final CRVIDEOSDK_ERR_DEF sdkErr, String cookie) {
	//...
}

相关API请参考:

2. 呼叫被接受/拒绝

呼叫方的呼叫请求返回响应处理

//呼叫被对方接受
@Override
void notifyCallAccepted(String callID, MeetInfo meetInfo, String useExtDat) {
   //...
}
	
//呼叫被对方拒绝
@Override
void notifyCallRejected(String callID, final CRVIDEOSDK_ERR_DEF reason, final String useExtDat) {
	//...
}

相关API请参考:

被叫方

1. 被呼叫通知

被呼叫方的相关交互函数和回调接口

  • 接口调用
// 设置管理回调(账号登陆、房间管理、呼叫管理)
CloudroomVideoMgr.getInstance().registerCallback(mMgrCallback);
  • 回调通知
//有呼叫进入
@Override
void notifyCallIn(String callID, MeetInfo meetInfo, String callerID, String param) {
    if(/*接受呼叫, 进入房间*/){
        //打开房间界面……
    }else{
		//拒绝对方的呼叫
    }
}

相关API请参考:

2.接受/拒绝/挂断呼叫

用户在接受呼叫后,通过sdk的呼叫接口进行交互操作

调用接口:

//接受呼叫
CloudroomVideoMgr.getInstance().acceptCall(callID, "");

//拒绝呼叫
CloudroomVideoMgr.getInstance().rejectCall(callID, "", "");

//挂断呼叫
CloudroomVideoMgr.getInstance().hangupCall(callID, "", "");

回调通知:

//接受呼叫成功
void acceptCallSuccess(String callID, String cookie){
	//...
}

//接受呼叫失败
void acceptCallFail(String callID, CRVIDEOSDK_ERR_DEF sdkErr,
                String cookie){
	//...
}

//拒绝呼叫成功
void rejectCallSuccess(String callID, String cookie){
	//...
}

//拒绝呼叫失败
void rejectCallFail(String callID, CRVIDEOSDK_ERR_DEF sdkErr, String cookie){
	//...
}

//挂断呼叫成功
@Override
void hangupCallSuccess(String callID, String cookie){
	//...
}

//挂断呼叫失败
@Override
void hangupCallFail(String callID, CRVIDEOSDK_ERR_DEF sdkErr, String cookie){
	//...
}

相关API请参考: