呼叫
功能简介: 实现用户之间的呼叫功能,流程是:A用户先创建一个房间,然后呼叫B用户,如果B用户接受呼叫,AB进入房间进行通讯。
注意:在登录成功后才可以使用呼叫功能。
主叫方:
被叫方:
主叫方
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请参考: