RCCallPlusClient

public abstract class RCCallPlusClient

Constructors

Link copied to clipboard
public void RCCallPlusClient()

Functions

Link copied to clipboard
public abstract void accept(String callId)
接听通话。 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onAccept 方法获取执行结果。
当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
Link copied to clipboard
public abstract void cancelChangeMediaType(String transactionId)
取消已经发起的切换媒体类型请求。 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onCancelChangeMediaType 方法获取执行结果。
当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
Link copied to clipboard
public abstract void deleteAllCallRecordsFromServer()
清除当前用户通话记录。 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onDeleteAllCallRecordsFromServer 方法获取执行结果。
Link copied to clipboard
public abstract void deleteCallRecordsFromServer(List<String> callIds)
批量删除通话记录。 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onDeleteCallRecordsFromServer 方法获取执行结果。
Link copied to clipboard
public abstract RCCallPlusResultCode enableMicrophone(boolean enable)
是否开启麦克风。 该方法为同步方法
Link copied to clipboard
public abstract void enableSpeaker(boolean enable)
设置是否切换听筒为扬声器。 该方法为同步方法
Link copied to clipboard
public abstract void getAvailableCallRecordsFromServer()
从服务器查询当前用户未结束的通话记录。 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onGetAvailableCallRecordsFromServer 方法获取执行结果。
Link copied to clipboard
public abstract void getCallRecordsFromServer(long syncTime, int count)
public abstract void getCallRecordsFromServer(long syncTime, int count, RCCallPlusOrder order)
获取当前用户通话记录。 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onGetCallRecordsFromServer 方法获取执行结果。
Link copied to clipboard
public abstract RCCallPlusSession getCurrentCallSession()
获取当前通话实体,通话实体中维护着当前通话的所有信息。
Link copied to clipboard
public static RCCallPlusClient getInstance()
Link copied to clipboard
public static String getVersion()
获取SDK版本号码
Link copied to clipboard
public abstract void hangup()
挂断通话。 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onHangup 方法获取执行结果。
public abstract void hangup(String callId)
public abstract void hangup(String callId, RCCallPlusPushConfig config)
挂断指定通话。 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onHangup 方法获取执行结果。
Link copied to clipboard
public abstract RCCallPlusResultCode init(RCCallPlusConfig config)
初始化并设置通话全局配置,重复调用该方法时SDK内部会重新初始化。
Link copied to clipboard
public abstract void invite(List<String> userIds)
public abstract void invite(List<String> userIds, RCCallPlusPushConfig pushConfig, String extra)
邀请用户加入通话。本端用户正在通话时,可以使用该方法邀请用户加入本通话。 调用该方法后会触发以下回调:
  • 被邀请用户会收到 onReceivedCall 回调。
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onInvite 方法获取执行结果。
当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
Link copied to clipboard
public abstract boolean isMicrophoneEnabled()
本地麦克风是否开启。 获取的是 enableMicrophone 设置后的值 该方法为同步方法
Link copied to clipboard
public abstract boolean isSpeakerphoneEnabled()
扬声器是否开启
Link copied to clipboard
public abstract void joinCall(String callId)
加入多人通话。 方法使用场景:
  • 场景一:A、B、C用户正在群通话时,其中一个用户挂断后,只要该群通话未结束。曾经参与过群通话的用户可以直接加入。
  • 场景二:收到群通话呼叫后,可以使用该方法直接加入。
调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onJoinCall 方法获取执行结果。
当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
Link copied to clipboard
public abstract void muteAllRemoteAudio(boolean mute)
通话过程中,设置所有远端用户是否静音,默认否 如果设置为true,后续订阅的远端用户声音也会被静音 该功能只是不播放远端用户的声音,依然在接收订阅成功的音频流
Link copied to clipboard
public abstract void removeVideoView(List<String> userIds)
删除远端用户的视频流渲染视图
Link copied to clipboard
public abstract void replyChangeMediaType(String transactionId, boolean isAgreed)
响应通话中的切换媒体类型请求。 同意升级后,SDK内部会自动发布摄像头流。为了远端用户能正常观看需要开发者调用 startCamerastartCamera 打开摄像头 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onReplyChangeMediaType 方法获取执行结果。
当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
Link copied to clipboard
public abstract void requestChangeMediaType(RCCallPlusMediaType mediaType)
通话中请求将音频通话切换为视频通话。 远端用户同意升级后,SDK内部会自动发布摄像头流。为了远端用户能正常观看需要开发者调用 startCamerastartCamera 打开摄像头 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onRequestChangeMediaType 方法

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

Link copied to clipboard
public abstract RCCallPlusResultCode setAudioConfig(RCCallPlusAudioConfig config)
设置本地音频配置。 必须与 startCallacceptjoinCall 方法前设置才有效
Link copied to clipboard
public abstract void setAudioFrameListener(IRCCallPlusAudioFrameListener audioFrameListener)
设置本地音频采集数据回调。 多次设置会覆盖,以最后一次设置生效 设置为"null"时,释放监听资源
Link copied to clipboard
public abstract void setCallPlusEventListener(IRCCallPlusEventListener listener)
设置通话事件监听。 多次设置会覆盖,以最后一次设置生效 设置为"null"时,释放监听资源。注意:调用unInit方法不会释放设置的该监听 如果需要通过该监听由 onReceivedCall 回调接收PUSH通知的通话。则需要在IM初始化和连接前注册
Link copied to clipboard
public abstract void setCallPlusResultListener(IRCCallPlusResultListener listener)
设置通话API结果回调监听。 多次设置会覆盖,以最后一次设置生效 设置为"null"时,释放监听资源
Link copied to clipboard
public abstract void setCallPlusStatusReportListener(IRCCallPlusStatusReportListener statusReportListener)
设置通话质量数据监听。 多次设置会覆盖,以最后一次设置生效 设置为"null"时,释放监听资源
Link copied to clipboard
public abstract RCCallPlusResultCode setVideoConfig(RCCallPlusVideoConfig config)
设置视频分辨率、码率、帧率。此方法支持通话过程中动态设置。
Link copied to clipboard
public abstract void setVideoFrameListener(IRCCallPlusVideoFrameListener videoFrameListener)
设置本地视频采集回调。 多次设置会覆盖,以最后一次设置生效 设置为"null"时,释放监听资源 回调返回的数据类型 (RCRTCVideoFrame#getCaptureType()) 通过 RCCallPlusConfig.Builder.enableEncoderTexture(bool) 控制。

RCCallPlusConfig config = RCCallPlusConfig.Builder.create()
       .enableEncoderTexture(false) //视频流采集方式
       .build();
RCCallPlusResultCode resultCode = RCCallPlusClient.getInstance().init(config);
Link copied to clipboard
public abstract void setVideoView(RCCallPlusLocalVideoView localVideoView)
设置本端用户摄像头采集的视频流渲染视图,要释放本端视图,再次设置null即可
public abstract void setVideoView(List<RCCallPlusRemoteVideoView> remoteVideoViewList)
设置远端用户视频流渲染视图
Link copied to clipboard
public abstract void startCall(List<String> userIds, RCCallPlusType callType, RCCallPlusMediaType mediaType)
public abstract void startCall(List<String> userIds, RCCallPlusType callType, RCCallPlusMediaType mediaType, RCCallPlusOption option)
public abstract void startCall(List<String> userIds, RCCallPlusType callType, RCCallPlusMediaType mediaType, RCCallPlusPushConfig pushConfig, String extra)
发起呼叫。 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onStartCall 方法获取执行结果。
当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
Link copied to clipboard
public abstract void startCamera()
public abstract void startCamera(int cameraId, boolean mirror)
开启摄像头数据采集。 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onStartCamera 方法获取执行结果。
Link copied to clipboard
public abstract void stopCamera()
关闭摄像头。 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onStopCamera 方法获取执行结果。
Link copied to clipboard
public abstract void switchCamera()
切换前后摄像头。 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onSwitchCamera 方法获取执行结果。
public abstract void switchCamera(int cameraId, boolean mirror)
切换指定摄像头。 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onSwitchCamera 方法获取执行结果。
Link copied to clipboard
public abstract void unInit()
反初始化通话引擎。 如果在调用销毁时有正在进行的通话,销毁前SDK内部会调用挂断方法。 会释放给 RCCallPlusClient 对象设置的其他监听,唯独setCallPlusEventListener监听不会销毁,需要您调用RCCallPlusClient#setCallPlusEventListener(null)进行注销,否则会出现内存泄露