Interface IRCCallPlusEventListener

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      abstract void onReceivedCall(RCCallPlusSession callSession, String extra) 被叫用户/被邀请用户接收到通话呼叫通知 该方法回调场景:
      • 本端用户没有正在进行中的音视频通话(getCurrentCallSession 获取的对象为空)时,远端用户通过 startCall 、invite 函数邀请本端用户进行通话。
      • 本端用户正在进行音视频通话(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 ,再接听新的通话
          }
      }
      
      
      void onCallConnected(RCCallPlusSession callSession) 通话建立成功通知
      void onRemoteUserInvited(String callId, ArrayList<String> inviteeUserList, String inviterUserId) 远端用户被邀请通知
      void onRemoteUserStateChanged(String callId, String userId, RCCallPlusUserSessionStatus status, RCCallPlusReason reason) 远端用户人员状态变更通知
      void onCallEnded(RCCallPlusSession session, RCCallPlusReason reason) 本地用户参与的通话结束通知 群聊时,本地用户主动挂断,才会收到该通知
      void onReceivedCallRecord(RCCallPlusCallRecord record) 本地用户参与的通话结束,服务器生成通话记录通知 整个通话结束后才收到服务器通知
      void onRemoteMicrophoneStateChanged(String callId, String userId, boolean disabled) 远端用户麦克风开关状态通知
      void onRemoteCameraStateChanged(String callId, String userId, boolean disabled) 远端用户麦克风开关状态通知
      void onReceivedChangeMediaTypeRequest(String transactionId, String userId, RCCallPlusMediaType mediaType) 通话中收到远端用户请求切换媒体类型通知 该通知为单聊场景使用
      void onReceivedChangeMediaTypeResult(String transactionId, String userId, RCCallPlusMediaType mediaType, RCCallPlusMediaTypeChangeResult result) 通话中收到切换媒体类型结果通知
      void onCallTypeChanged(String callId, RCCallPlusType callType) 通话类型变更通知 单聊时,邀请其他用户加入通话成功,当前通话升级为群通话 邀请和被邀请用户都会收到该通知
      void onFirstLocalVideoFrame(int width, int height) 本地摄像头采集的视频流渲染首帧通知
      void onFirstRemoteAudioFrame(String userId) 远端音频流首帧通知
      void onFirstRemoteVideoFrame(String userId, int width, int height) 远端视频流首帧通知
      void onUserAudioLevelChanged(HashMap<String, Integer> hashMap) 通话中用户音量通知,每秒回调一次。
      void onCallStartTimeFromServer(long callStartTime) 通话开始时间通知(当前时间到1970-1-1 00:00:00的总毫秒数)。 通话开始时间戳为所有通话用户中最早加入房间的时间戳
      void onCallFirstFrameTimeFromServer(long callFirstFrameTime) 收到首帧时间通知(当前时间到1970-1-1 00:00:00的总毫秒数)。 收到首帧时间戳为所有通话用户中最早收到首帧时间戳
      void onReceivedCallPlusSummaryMessage(Message message) 本地用户参与的通话结束,本地生成的通话消息记录通知 目前,本回调仅在单人通话结束时(通话类型为PRIVATE)触发,并返回相应的信息。 在 IM Lib 登录成功后,将获取离线时产生的通话消息()。为了确保在登录成功后立即获取到这些消息,请在IM Lib初始化之前注册监听器:setCallPlusEventListener
      void onReceivedGroupCallStatusMessage(Message message) 收到群组内发起的音视频通话状态变更通知消息 只支持通话类型为 MULTI 并且通过 setTargetId 方法设置了群组id 后才可以触发回调 该通知为群通知,未参与该通话的用户也会收到该通知 在 IM Lib 登录成功后,将获取离线时产生的通话消息()。为了确保在登录成功后立即获取到这些消息,请在IM Lib初始化之前注册监听器:setCallPlusEventListener
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • onReceivedCall

         abstract void onReceivedCall(RCCallPlusSession callSession, String extra)

        被叫用户/被邀请用户接收到通话呼叫通知

        该方法回调场景:

        • 本端用户没有正在进行中的音视频通话(getCurrentCallSession 获取的对象为空)时,远端用户通过 startCall 、invite 函数邀请本端用户进行通话。
        • 本端用户正在进行音视频通话(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 ,再接听新的通话
            }
        }
        
        
        Parameters:
        callSession - 通话实例对象
        extra - 附件信息,由发起方传入
      • onCallConnected

         void onCallConnected(RCCallPlusSession callSession)

        通话建立成功通知

        Parameters:
        callSession - 通话实例对象
      • onRemoteUserInvited

         void onRemoteUserInvited(String callId, ArrayList<String> inviteeUserList, String inviterUserId)

        远端用户被邀请通知

        Parameters:
        callId - 通话Id
        inviteeUserList - 被邀请用户 Id 列表
        inviterUserId - 发起邀请用户 Id
      • onRemoteUserStateChanged

         void onRemoteUserStateChanged(String callId, String userId, RCCallPlusUserSessionStatus status, RCCallPlusReason reason)

        远端用户人员状态变更通知

        Parameters:
        callId - 通话Id
        userId - 远端用户Id
        status - 远端户当前状态
        reason - 远端户状态变更原因
      • onCallEnded

         void onCallEnded(RCCallPlusSession session, RCCallPlusReason reason)

        本地用户参与的通话结束通知

        群聊时,本地用户主动挂断,才会收到该通知

        Parameters:
        session - 结束通话的实例对象
        reason - 通话结束原因
      • onReceivedCallRecord

         void onReceivedCallRecord(RCCallPlusCallRecord record)

        本地用户参与的通话结束,服务器生成通话记录通知

        整个通话结束后才收到服务器通知

        Parameters:
        record - 通话记录对象
      • onRemoteMicrophoneStateChanged

         void onRemoteMicrophoneStateChanged(String callId, String userId, boolean disabled)

        远端用户麦克风开关状态通知

        Parameters:
        callId - 通话Id
        userId - 远端用户Id
        disabled - 麦克风开关状态,true:为关闭状态。false:为开启状态。
      • onRemoteCameraStateChanged

         void onRemoteCameraStateChanged(String callId, String userId, boolean disabled)

        远端用户麦克风开关状态通知

        Parameters:
        callId - 通话Id
        userId - 远端用户Id
        disabled - 摄像头开关状态,true:为关闭状态。false:为开启状态。
      • onReceivedChangeMediaTypeRequest

         void onReceivedChangeMediaTypeRequest(String transactionId, String userId, RCCallPlusMediaType mediaType)

        通话中收到远端用户请求切换媒体类型通知

        该通知为单聊场景使用

        Parameters:
        transactionId - 事务id, 本次请求和应答的唯一标识
        userId - 发起人id
        mediaType - 请求切换的媒体类型,音频或音视频
      • onReceivedChangeMediaTypeResult

         void onReceivedChangeMediaTypeResult(String transactionId, String userId, RCCallPlusMediaType mediaType, RCCallPlusMediaTypeChangeResult result)

        通话中收到切换媒体类型结果通知

        Parameters:
        transactionId - 事务id, 本次请求和应答的唯一标识
        userId - 发起人id
        mediaType - 最终的媒体类型
        result - 媒体类型切换结果 RCCallPlusMediaTypeChangeResult
      • onCallTypeChanged

         void onCallTypeChanged(String callId, RCCallPlusType callType)

        通话类型变更通知

        单聊时,邀请其他用户加入通话成功,当前通话升级为群通话

        邀请和被邀请用户都会收到该通知

        Parameters:
        callId - 通话id
        callType - 通话类型,单聊或群聊
      • onFirstLocalVideoFrame

         void onFirstLocalVideoFrame(int width, int height)

        本地摄像头采集的视频流渲染首帧通知

        Parameters:
        width - 视频宽
        height - 视频高
      • onFirstRemoteAudioFrame

         void onFirstRemoteAudioFrame(String userId)

        远端音频流首帧通知

        Parameters:
        userId - 远端用户Id
      • onFirstRemoteVideoFrame

         void onFirstRemoteVideoFrame(String userId, int width, int height)

        远端视频流首帧通知

        Parameters:
        userId - 用户Id
        width - 视频宽
        height - 视频高
      • onUserAudioLevelChanged

         void onUserAudioLevelChanged(HashMap<String, Integer> hashMap)

        通话中用户音量通知,每秒回调一次。

        Parameters:
        hashMap - key:用户Id value:音量值大小(取值:0-9)
      • onCallStartTimeFromServer

         void onCallStartTimeFromServer(long callStartTime)

        通话开始时间通知(当前时间到1970-1-1 00:00:00的总毫秒数)。

        通话开始时间戳为所有通话用户中最早加入房间的时间戳

        Parameters:
        callStartTime - 通话开始时间戳(单位:ms),由服务器生成的时间戳
      • onCallFirstFrameTimeFromServer

         void onCallFirstFrameTimeFromServer(long callFirstFrameTime)

        收到首帧时间通知(当前时间到1970-1-1 00:00:00的总毫秒数)。

        收到首帧时间戳为所有通话用户中最早收到首帧时间戳

        Parameters:
        callFirstFrameTime - 收到首帧时间戳(单位:ms),由服务器生成的时间戳
      • onReceivedCallPlusSummaryMessage

         void onReceivedCallPlusSummaryMessage(Message message)

        本地用户参与的通话结束,本地生成的通话消息记录通知

        目前,本回调仅在单人通话结束时(通话类型为PRIVATE)触发,并返回相应的信息。

        在 IM Lib 登录成功后,将获取离线时产生的通话消息()。为了确保在登录成功后立即获取到这些消息,请在IM Lib初始化之前注册监听器:setCallPlusEventListener

        Parameters:
        message - 通话结束消息实例cn.rongcloud.callplus.api.
      • onReceivedGroupCallStatusMessage

         void onReceivedGroupCallStatusMessage(Message message)

        收到群组内发起的音视频通话状态变更通知消息

        只支持通话类型为 MULTI 并且通过 setTargetId 方法设置了群组id 后才可以触发回调

        该通知为群通知,未参与该通话的用户也会收到该通知

        在 IM Lib 登录成功后,将获取离线时产生的通话消息()。为了确保在登录成功后立即获取到这些消息,请在IM Lib初始化之前注册监听器:setCallPlusEventListener

        Parameters:
        message - 通话状态变更消息实例RCGroupCallStatusMessageContent