IRCCallPlusEventListener

public interface IRCCallPlusEventListener

Functions

Link copied to clipboard
public void onCallConnected(RCCallPlusSession callSession)
通话建立成功通知
Link copied to clipboard
public void onCallEnded(RCCallPlusSession session, RCCallPlusReason reason)
本地用户参与的通话结束通知 群聊时,本地用户主动挂断,才会收到该通知
Link copied to clipboard
public void onCallFirstFrameTimeFromServer(long callFirstFrameTime)
收到首帧时间通知(当前时间到1970-1-1 00:00:00的总毫秒数)。 收到首帧时间戳为所有通话用户中最早收到首帧时间戳
Link copied to clipboard
public void onCallStartTimeFromServer(long callStartTime)
通话开始时间通知(当前时间到1970-1-1 00:00:00的总毫秒数)。 通话开始时间戳为所有通话用户中最早加入房间的时间戳
Link copied to clipboard
public void onCallTypeChanged(String callId, RCCallPlusType callType)
通话类型变更通知 单聊时,邀请其他用户加入通话成功,当前通话升级为群通话 邀请和被邀请用户都会收到该通知
Link copied to clipboard
public void onFirstLocalVideoFrame(int width, int height)
本地摄像头采集的视频流渲染首帧通知
Link copied to clipboard
public void onFirstRemoteAudioFrame(String userId)
远端音频流首帧通知
Link copied to clipboard
public void onFirstRemoteVideoFrame(String userId, int width, int height)
远端视频流首帧通知
Link copied to clipboard
public abstract void onReceivedCall(RCCallPlusSession callSession, String extra)
被叫用户/被邀请用户接收到通话呼叫通知 该方法回调场景:
  1. 本端用户没有正在进行中的音视频通话(getCurrentCallSession 获取的对象为空)时,远端用户通过 startCall 、invite 函数邀请本端用户进行通话。
  2. 本端用户正在进行音视频通话(getCurrentCallSession 获取的对象不为空)时,远端用户通过 startCall、invite 函数邀请本端用户进行通话。
如果本端用户需要接听该通话,需要先调用 hangup 方法挂断当前正在进行中的通话。再调用 accept 方法接听。 判断本端是否正在进行通话,又收到第二通呼叫方法:


public void onReceivedCall(RCCallPlusSession callSession) {
    RCCallPlusSession currentCallSession = RCCallPlusClient.getInstance().getCurrentCallSession();
    if (currentCallSession != null && !TextUtils.equals(callSession.getCallId(), currentCallSession.getCallId())) {
        //在此处理有正在进行中的通话,又有第二通通话呼入的情况
        //需要挂断 currentCallSession ,再接听新的通话
    }
}

Link copied to clipboard
public void onReceivedCallPlusSummaryMessage(Message message)
本地用户参与的通话结束,本地生成的通话消息记录通知 目前,本回调仅在单人通话结束时(通话类型为PRIVATE)触发,并返回相应的信息。 在 IM Lib 登录成功后,将获取离线时产生的通话消息()。为了确保在登录成功后立即获取到这些消息,请在IM Lib初始化之前注册监听器:setCallPlusEventListener
Link copied to clipboard
public void onReceivedCallRecord(RCCallPlusCallRecord record)
本地用户参与的通话结束,服务器生成通话记录通知 整个通话结束后才收到服务器通知
Link copied to clipboard
public void onReceivedChangeMediaTypeRequest(String transactionId, String userId, RCCallPlusMediaType mediaType)
通话中收到远端用户请求切换媒体类型通知 该通知为单聊场景使用
Link copied to clipboard
public void onReceivedChangeMediaTypeResult(String transactionId, String userId, RCCallPlusMediaType mediaType, RCCallPlusMediaTypeChangeResult result)
通话中收到切换媒体类型结果通知
Link copied to clipboard
public void onReceivedGroupCallStatusMessage(Message message)
收到群组内发起的音视频通话状态变更通知消息 只支持通话类型为 MULTI 并且通过 setTargetId 方法设置了群组id 后才可以触发回调 该通知为群通知,未参与该通话的用户也会收到该通知 在 IM Lib 登录成功后,将获取离线时产生的通话消息()。为了确保在登录成功后立即获取到这些消息,请在IM Lib初始化之前注册监听器:setCallPlusEventListener
Link copied to clipboard
public void onRemoteCameraStateChanged(String callId, String userId, boolean disabled)
远端用户麦克风开关状态通知
Link copied to clipboard
public void onRemoteMicrophoneStateChanged(String callId, String userId, boolean disabled)
远端用户麦克风开关状态通知
Link copied to clipboard
public void onRemoteUserInvited(String callId, ArrayList<String> inviteeUserList, String inviterUserId)
远端用户被邀请通知
Link copied to clipboard
public void onRemoteUserStateChanged(String callId, String userId, RCCallPlusUserSessionStatus status, RCCallPlusReason reason)
远端用户人员状态变更通知
Link copied to clipboard
public void onUserAudioLevelChanged(HashMap<String, Integer> hashMap)
通话中用户音量通知,每秒回调一次。