Class RCCallPlusClient

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      static RCCallPlusClient getInstance()
      abstract RCCallPlusResultCode init(RCCallPlusConfig config) 初始化配置,建议全局配置一次,尽量避免重复调用。 重复初始化需要重新设置所有监听事件
      abstract void unInit() 反初始化通话引擎。 如果在调用销毁时有正在进行的通话,销毁前SDK内部会调用挂断方法。 会释放给 RCCallPlusClient 对象设置的其他监听,唯独setCallPlusEventListener监听不会销毁,需要您调用RCCallPlusClient#setCallPlusEventListener(null)进行注销,否则会出现内存泄露
      static String getVersion() 获取 SDK 版本信息
      abstract RCCallPlusResultCode setVideoConfig(RCCallPlusVideoConfig config) 设置视频配置:分辨率、最大/最小码率、帧率等信息。需要通话建立前设置生效。
      abstract RCCallPlusResultCode setAudioConfig(RCCallPlusAudioConfig config) 设置音频配置:音频质量、通话模式、等信息。 需要通话建立前设置生效。
      abstract void setCallPlusEventListener(IRCCallPlusEventListener listener) 设置通话事件监听 多次设置会覆盖,以最后一次设置生效 设置为"null"时,释放监听资源。注意:调用unInit方法不会释放设置的该监听 如果需要通过该监听由 onReceivedCall 回调接收PUSH通知的通话。则需要在IM初始化和连接前注册
      abstract void setCallPlusResultListener(IRCCallPlusResultListener listener) 设置通话API结果回调监听 多次设置会覆盖,以最后一次设置生效 设置为"null"时,释放监听资源
      abstract void setCallPlusStatusReportListener(IRCCallPlusStatusReportListener statusReportListener) 设置通话质量数据监听 多次设置会覆盖,以最后一次设置生效 设置为"null"时,释放监听资源
      abstract void startCall(List<String> userIds, RCCallPlusType callType, RCCallPlusMediaType mediaType) 发起呼叫。 调用该方法后会触发以下回调:
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onStartCall 方法获取执行结果。
      当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
      abstract void startCall(List<String> userIds, RCCallPlusType callType, RCCallPlusMediaType mediaType, RCCallPlusPushConfig pushConfig, String extra) 发起呼叫。 调用该方法后会触发以下回调:
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onStartCall 方法获取执行结果。
      当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
      abstract void startCall(List<String> userIds, RCCallPlusType callType, RCCallPlusMediaType mediaType, RCCallPlusOption option) 发起呼叫。 调用该方法后会触发以下回调:
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onStartCall 方法获取执行结果。
      当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
      abstract void joinCall(String callId) 加入进行中的群组通话。 只要能获取到群组通话ID,无论是否被邀请过,都可以直接加入。 调用该方法后会触发以下回调:
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onJoinCall 方法获取执行结果。
      当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
      abstract void invite(List<String> userIds, RCCallPlusPushConfig pushConfig, String extra) 单聊(单聊通话中邀请他人会导致通话类型变更为群组通话)或群组通话过程中邀请新用户加入。 调用该方法后会触发以下回调:
      • 被邀请用户会收到 onReceivedCall 回调。
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onInvite 方法获取执行结果。
      当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
      abstract void invite(List<String> userIds) 单聊(单聊通话中邀请他人会导致通话类型变更为群组通话)或群组通话过程中邀请新用户加入。 调用该方法后会触发以下回调:
      • 被邀请用户会收到 onReceivedCall 回调。
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onInvite 方法获取执行结果。
      当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
      abstract void accept(String callId) 接听通话。 调用该方法后会触发以下回调:
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onAccept 方法获取执行结果。
      当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
      abstract void hangup(String callId) 挂断指定通话。 调用该方法后会触发以下回调:
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onHangup 方法获取执行结果。
      abstract void hangup(String callId, RCCallPlusPushConfig config) 挂断指定通话。 调用该方法后会触发以下回调:
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onHangup 方法获取执行结果。
      abstract void hangup() 挂断通话。 调用该方法后会触发以下回调:
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onHangup 方法获取执行结果。
      abstract void setVideoView(List<RCCallPlusRemoteVideoView> remoteVideoViewList) 设置远端用户渲染视图 enableTinyStream 方法可以动态设置订阅大小流,默认订阅大流
      abstract void setVideoView(RCCallPlusLocalVideoView localVideoView) 设置本端渲染视图。 要释放本端渲染视图,需要再次设置为 null
      abstract void removeVideoView(List<String> userIds) 删除远端用户渲染视图
      abstract void startCamera() 开启摄像头。视频通话建立后默认状态为关闭,需要主动调用该接口打开摄像头 调用该方法后会触发以下回调:
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onStartCamera 方法获取执行结果。
      abstract void startCamera(int cameraId, boolean mirror) 开启指定摄像头。视频通话建立后默认状态为关闭,需要主动调用该接口打开摄像头 调用该方法后会触发以下回调:
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onStartCamera 方法获取执行结果。
      abstract void switchCamera() 切换前后摄像头。需要先调用 startCamera 方法开启摄像头后,此方法才生效。 调用该方法后会触发以下回调:
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onSwitchCamera 方法获取执行结果。
      abstract void switchCamera(int cameraId, boolean mirror) 切换指定摄像头。需要先调用 startCamera 方法开启摄像头后,此方法才生效。 调用该方法后会触发以下回调:
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onSwitchCamera 方法获取执行结果。
      abstract void stopCamera() 关闭摄像头。 调用该方法后会触发以下回调:
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onStopCamera 方法获取执行结果。
      abstract RCCallPlusResultCode enableMicrophone(boolean enable) 开启/关闭麦克风。通话建立后默认开启。 该方法为同步方法
      abstract boolean isMicrophoneEnabled() 获取麦克风开关状态 获取的是 enableMicrophone 设置后的值 该方法为同步方法
      abstract void enableSpeaker(boolean enable) 开启/关闭扬声器、获取扬声器开关状态。通话建立后视频通话默认开启,音频通话默认关闭。 该方法为同步方法
      abstract boolean isSpeakerphoneEnabled() 获取扬声器开关状态
      abstract void setVideoFrameListener(IRCCallPlusVideoFrameListener videoFrameListener) 设置本地视频采集回调。 多次设置会覆盖,以最后一次设置生效 设置为"null"时,释放监听资源 回调返回的数据类型 getCaptureType 可以通过 enableEncoderTexture方法控制。
      
      RCCallPlusConfig config = RCCallPlusConfig.Builder.create()
             .enableEncoderTexture(false) //视频流采集方式
             .build();
      RCCallPlusResultCode resultCode = RCCallPlusClient.getInstance().init(config);
      
      abstract void setAudioFrameListener(IRCCallPlusAudioFrameListener audioFrameListener) 设置本地音频数据回调 多次设置会覆盖,以最后一次设置生效 设置为"null"时,释放监听资源 音频数据格式为 PCM
      abstract void getCallRecordsFromServer(long syncTime, int count) 获取当前用户通话记录
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onGetCallRecordsFromServer 方法获取执行结果。
      abstract void getCallRecordsFromServer(long syncTime, int count, RCCallPlusOrder order) 获取当前用户通话记录
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onGetCallRecordsFromServer 方法获取执行结果。
      abstract void deleteCallRecordsFromServer(List<String> callIds) 批量删除当前用户通话记录 调用该方法后会触发以下回调:
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onDeleteCallRecordsFromServer 方法获取执行结果。
      abstract void getAvailableCallRecordsFromServer() 从服务器获取当前用户未结束的通话记录 调用该方法后会触发以下回调:
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onGetAvailableCallRecordsFromServer 方法获取执行结果。
      abstract void deleteAllCallRecordsFromServer() 删除当前用户所有通话记录 调用该方法后会触发以下回调:
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onDeleteAllCallRecordsFromServer 方法获取执行结果。
      abstract void muteAllRemoteAudio(boolean mute) 设置是否静音所有远端用户音频流 如果设置为true,后续订阅的远端用户声音也会被静音 该功能只是不播放远端用户的声音,依然在接收订阅成功的音频流
      abstract void requestChangeMediaType(RCCallPlusMediaType mediaType) 通话中请求媒体类型切换请求
      • 该接口为单聊接口
      • 由音频切换到音视频,收到媒体类型切换结果通知后,SDK内部会自动发布摄像头流。为了远端用户能正常观看需要开发者调用 startCamera 或 * startCamera 打开摄像头
      • 由音视频切换到音频,收到媒体类型切换结果通知后,不需要手动关闭摄像头
      • 当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
      abstract void replyChangeMediaType(String transactionId, boolean isAgreed) 响应通话中媒体类型切换请求
      • 单聊接口
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onReplyChangeMediaType 方法获取执行结果。
      • 当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
      abstract void cancelChangeMediaType(String transactionId) 取消已经发起的媒体类型切换请求
      • 单聊接口
      • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onCancelChangeMediaType方法获取执行结果。
      • 当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
      • 调用 requestChangeMediaType 接口后,可以使用该接口取消操作
      abstract RCCallPlusSession getCurrentCallSession() 获取当前通话实例对象
      • Methods inherited from class java.lang.Object

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

      • RCCallPlusClient

        RCCallPlusClient()
    • Method Detail

      • init

         abstract RCCallPlusResultCode init(RCCallPlusConfig config)

        初始化配置,建议全局配置一次,尽量避免重复调用。

        重复初始化需要重新设置所有监听事件

        Parameters:
        config - 设置通话全局配置
        Returns:

        初始化结果

      • unInit

         abstract void unInit()

        反初始化通话引擎。

        如果在调用销毁时有正在进行的通话,销毁前SDK内部会调用挂断方法。

        会释放给 RCCallPlusClient 对象设置的其他监听,唯独setCallPlusEventListener监听不会销毁,需要您调用RCCallPlusClient#setCallPlusEventListener(null)进行注销,否则会出现内存泄露

      • getVersion

         static String getVersion()

        获取 SDK 版本信息

      • setVideoConfig

         abstract RCCallPlusResultCode setVideoConfig(RCCallPlusVideoConfig config)

        设置视频配置:分辨率、最大/最小码率、帧率等信息。需要通话建立前设置生效。

        Parameters:
        config - 视频配置信息
      • setAudioConfig

         abstract RCCallPlusResultCode setAudioConfig(RCCallPlusAudioConfig config)

        设置音频配置:音频质量、通话模式、等信息。

        需要通话建立前设置生效。

        Parameters:
        config - 本地音频配置信息
      • setCallPlusEventListener

         abstract void setCallPlusEventListener(IRCCallPlusEventListener listener)

        设置通话事件监听

        多次设置会覆盖,以最后一次设置生效

        设置为"null"时,释放监听资源。注意:调用unInit方法不会释放设置的该监听

        如果需要通过该监听由 onReceivedCall 回调接收PUSH通知的通话。则需要在IM初始化和连接前注册

        Parameters:
        listener - 通话事件监听
      • setCallPlusResultListener

         abstract void setCallPlusResultListener(IRCCallPlusResultListener listener)

        设置通话API结果回调监听

        多次设置会覆盖,以最后一次设置生效

        设置为"null"时,释放监听资源

        Parameters:
        listener - 结果回调监听
      • setCallPlusStatusReportListener

         abstract void setCallPlusStatusReportListener(IRCCallPlusStatusReportListener statusReportListener)

        设置通话质量数据监听

        多次设置会覆盖,以最后一次设置生效

        设置为"null"时,释放监听资源

        Parameters:
        statusReportListener - 通话质量数据监听, 回调频率为 1s 一次
      • startCall

         abstract void startCall(List<String> userIds, RCCallPlusType callType, RCCallPlusMediaType mediaType)

        发起呼叫。

        调用该方法后会触发以下回调:

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onStartCall 方法获取执行结果。

        当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。

        Parameters:
        userIds - 被叫人员userId列表-单人呼叫仅需在数组中放置对方一人的 userId
        callType - 通话类型-单人呼叫或多人呼叫。单人呼叫时 userids 长度只能为1.
        mediaType - 通话媒体类型: 音频或音视频,SDK中会根据该类型发布默认流。
        • 如果为 VIDEO SDK内部默认发布视频流+音频流。
        • 如果为 AUDIO SDK内部默认发布音频流。
      • startCall

         abstract void startCall(List<String> userIds, RCCallPlusType callType, RCCallPlusMediaType mediaType, RCCallPlusPushConfig pushConfig, String extra)

        发起呼叫。

        调用该方法后会触发以下回调:

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onStartCall 方法获取执行结果。

        当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。

        Parameters:
        userIds - 被叫人员userId列表-单人呼叫仅需在数组中放置对方一人的 userId
        callType - 通话类型-单人呼叫或多人呼叫。单人呼叫时 userids 长度只能为1.
        mediaType - 通话媒体类型: 音频或音视频,SDK中会根据该类型发布默认流。
        • 如果为 VIDEO SDK内部默认发布视频流+音频流。
        • 如果为 AUDIO SDK内部默认发布音频流。
        pushConfig - 推送配置信息
        extra - 附加信息-透传给被呼叫方,接收端通过 onReceivedCall 中extra参数接收
      • startCall

         abstract void startCall(List<String> userIds, RCCallPlusType callType, RCCallPlusMediaType mediaType, RCCallPlusOption option)

        发起呼叫。

        调用该方法后会触发以下回调:

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onStartCall 方法获取执行结果。

        当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。

        Parameters:
        userIds - 被叫人员userId列表-单人呼叫仅需在数组中放置对方一人的 userId
        callType - 通话类型-单人呼叫或多人呼叫。单人呼叫时 userids 长度只能为1.
        mediaType - 通话媒体类型: 音频或音视频,SDK中会根据该类型发布默认流。
        • 如果为 VIDEO SDK内部默认发布视频流+音频流。
        • 如果为 AUDIO SDK内部默认发布音频流。
        option - 发起通话配置项,允许为空
      • joinCall

         abstract void joinCall(String callId)

        加入进行中的群组通话。

        只要能获取到群组通话ID,无论是否被邀请过,都可以直接加入。

        调用该方法后会触发以下回调:

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onJoinCall 方法获取执行结果。

        当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。

        Parameters:
        callId - 要加入的通话Id
      • invite

         abstract void invite(List<String> userIds, RCCallPlusPushConfig pushConfig, String extra)

        单聊(单聊通话中邀请他人会导致通话类型变更为群组通话)或群组通话过程中邀请新用户加入。

        调用该方法后会触发以下回调:

        • 被邀请用户会收到 onReceivedCall 回调。
        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onInvite 方法获取执行结果。

        当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。

        Parameters:
        userIds - 被邀请人列表
        pushConfig - 推送配置信息
        extra - 附加信息-透传给被呼叫方,接收端通过 onReceivedCall 中extra参数接收
      • invite

         abstract void invite(List<String> userIds)

        单聊(单聊通话中邀请他人会导致通话类型变更为群组通话)或群组通话过程中邀请新用户加入。

        调用该方法后会触发以下回调:

        • 被邀请用户会收到 onReceivedCall 回调。
        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onInvite 方法获取执行结果。

        当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。

        Parameters:
        userIds - 被邀请人列表
      • accept

         abstract void accept(String callId)

        接听通话。

        调用该方法后会触发以下回调:

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onAccept 方法获取执行结果。

        当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。

        Parameters:
        callId - 通话Id
      • hangup

         abstract void hangup(String callId)

        挂断指定通话。

        调用该方法后会触发以下回调:

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onHangup 方法获取执行结果。
        Parameters:
        callId - 通话Id, 如果传入的callid不是当前Call,不影响当前Call。
      • hangup

         abstract void hangup(String callId, RCCallPlusPushConfig config)

        挂断指定通话。

        调用该方法后会触发以下回调:

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onHangup 方法获取执行结果。
        Parameters:
        callId - 通话Id, 如果传入的callid不是当前Call,不影响当前Call。
      • hangup

         abstract void hangup()

        挂断通话。

        调用该方法后会触发以下回调:

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onHangup 方法获取执行结果。
      • setVideoView

         abstract void setVideoView(List<RCCallPlusRemoteVideoView> remoteVideoViewList)

        设置远端用户渲染视图

        enableTinyStream 方法可以动态设置订阅大小流,默认订阅大流

        Parameters:
        remoteVideoViewList - 远端用户渲染视图列表
      • setVideoView

         abstract void setVideoView(RCCallPlusLocalVideoView localVideoView)

        设置本端渲染视图。

        要释放本端渲染视图,需要再次设置为 null

      • removeVideoView

         abstract void removeVideoView(List<String> userIds)

        删除远端用户渲染视图

        Parameters:
        userIds - 需要删除的远端用户 UID 列表
      • startCamera

         abstract void startCamera()

        开启摄像头。视频通话建立后默认状态为关闭,需要主动调用该接口打开摄像头

        调用该方法后会触发以下回调:

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onStartCamera 方法获取执行结果。
      • startCamera

         abstract void startCamera(int cameraId, boolean mirror)

        开启指定摄像头。视频通话建立后默认状态为关闭,需要主动调用该接口打开摄像头

        调用该方法后会触发以下回调:

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onStartCamera 方法获取执行结果。
        Parameters:
        cameraId - 指定需要开启的摄像头Id, 通常使用Android系统 Camera API 获取
        mirror - 开启摄像头采集时数据是否镜像
      • switchCamera

         abstract void switchCamera()

        切换前后摄像头。需要先调用 startCamera 方法开启摄像头后,此方法才生效。

        调用该方法后会触发以下回调:

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onSwitchCamera 方法获取执行结果。
      • switchCamera

         abstract void switchCamera(int cameraId, boolean mirror)

        切换指定摄像头。需要先调用 startCamera 方法开启摄像头后,此方法才生效。

        调用该方法后会触发以下回调:

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onSwitchCamera 方法获取执行结果。
        Parameters:
        cameraId - 指定需要切换的摄像头Id, 通常使用Android系统 Camera API 获取
        mirror - 开启摄像头采集时数据是否镜像
      • stopCamera

         abstract void stopCamera()

        关闭摄像头。

        调用该方法后会触发以下回调:

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onStopCamera 方法获取执行结果。
      • enableMicrophone

         abstract RCCallPlusResultCode enableMicrophone(boolean enable)

        开启/关闭麦克风。通话建立后默认开启。

        该方法为同步方法

        Parameters:
        enable - true:开启;false:关闭
      • enableSpeaker

         abstract void enableSpeaker(boolean enable)

        开启/关闭扬声器、获取扬声器开关状态。通话建立后视频通话默认开启,音频通话默认关闭。

        该方法为同步方法

        Parameters:
        enable - 开启/关闭扬声器
      • isSpeakerphoneEnabled

         abstract boolean isSpeakerphoneEnabled()

        获取扬声器开关状态

        Returns:

        扬声器是否开启

      • setVideoFrameListener

         abstract void setVideoFrameListener(IRCCallPlusVideoFrameListener videoFrameListener)

        设置本地视频采集回调。

        多次设置会覆盖,以最后一次设置生效

        设置为"null"时,释放监听资源

        回调返回的数据类型 getCaptureType 可以通过 enableEncoderTexture方法控制。

        
        RCCallPlusConfig config = RCCallPlusConfig.Builder.create()
               .enableEncoderTexture(false) //视频流采集方式
               .build();
        RCCallPlusResultCode resultCode = RCCallPlusClient.getInstance().init(config);
        
        Parameters:
        videoFrameListener - 本地视频采集回调
      • setAudioFrameListener

         abstract void setAudioFrameListener(IRCCallPlusAudioFrameListener audioFrameListener)

        设置本地音频数据回调

        多次设置会覆盖,以最后一次设置生效

        设置为"null"时,释放监听资源

        音频数据格式为 PCM

        Parameters:
        audioFrameListener - 本地音频数据回调
      • getCallRecordsFromServer

         abstract void getCallRecordsFromServer(long syncTime, int count)

        获取当前用户通话记录

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onGetCallRecordsFromServer 方法获取执行结果。
        Parameters:
        syncTime - 同步时间戳(单位:ms)首次获取可传 -1,倒序时,返回最新的通话记录,正序时,返回最早的通话记录
        count - 每次获取的通话记录数量,默认30条
      • getCallRecordsFromServer

         abstract void getCallRecordsFromServer(long syncTime, int count, RCCallPlusOrder order)

        获取当前用户通话记录

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onGetCallRecordsFromServer 方法获取执行结果。
        Parameters:
        syncTime - 同步时间戳(单位:ms)首次获取可传 -1,倒序时,返回最新的通话记录,正序时,返回最早的通话记录
        count - 每次获取的通话记录数量,默认30条
        order - 查询排序规则。0:正序查询,1:倒序查询。默认为 0
      • deleteCallRecordsFromServer

         abstract void deleteCallRecordsFromServer(List<String> callIds)

        批量删除当前用户通话记录

        调用该方法后会触发以下回调:

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onDeleteCallRecordsFromServer 方法获取执行结果。
        Parameters:
        callIds - 需要删除通话记录的通话Id列表
      • getAvailableCallRecordsFromServer

         abstract void getAvailableCallRecordsFromServer()

        从服务器获取当前用户未结束的通话记录

        调用该方法后会触发以下回调:

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onGetAvailableCallRecordsFromServer 方法获取执行结果。
      • deleteAllCallRecordsFromServer

         abstract void deleteAllCallRecordsFromServer()

        删除当前用户所有通话记录

        调用该方法后会触发以下回调:

        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onDeleteAllCallRecordsFromServer 方法获取执行结果。
      • muteAllRemoteAudio

         abstract void muteAllRemoteAudio(boolean mute)

        设置是否静音所有远端用户音频流

        如果设置为true,后续订阅的远端用户声音也会被静音

        该功能只是不播放远端用户的声音,依然在接收订阅成功的音频流

        Parameters:
        mute - true:静音;false:取消静音
        Returns:

        0 表示设置成功。失败错误码在 getValue 获取

      • requestChangeMediaType

         abstract void requestChangeMediaType(RCCallPlusMediaType mediaType)

        通话中请求媒体类型切换请求

        • 该接口为单聊接口
        • 由音频切换到音视频,收到媒体类型切换结果通知后,SDK内部会自动发布摄像头流。为了远端用户能正常观看需要开发者调用 startCamera 或 * startCamera 打开摄像头
        • 由音视频切换到音频,收到媒体类型切换结果通知后,不需要手动关闭摄像头
        • 当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
        Parameters:
        mediaType - 媒体类型
      • replyChangeMediaType

         abstract void replyChangeMediaType(String transactionId, boolean isAgreed)

        响应通话中媒体类型切换请求

        • 单聊接口
        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onReplyChangeMediaType 方法获取执行结果。
        • 当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
        Parameters:
        transactionId - 事物ID, 通过 onReceivedChangeMediaTypeRequest回调方法获得事务Id
        isAgreed - 是否同意切换
      • cancelChangeMediaType

         abstract void cancelChangeMediaType(String transactionId)

        取消已经发起的媒体类型切换请求

        • 单聊接口
        • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onCancelChangeMediaType方法获取执行结果。
        • 当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
        • 调用 requestChangeMediaType 接口后,可以使用该接口取消操作
        Parameters:
        transactionId - 事物ID, 通过 onRequestChangeMediaType 回调方法获得事务Id
      • getCurrentCallSession

         abstract RCCallPlusSession getCurrentCallSession()

        获取当前通话实例对象

        Returns:

        通话实体对象,如果不存在通话会为null