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秒,然后返回失败监听。
  • 调用 requestChangeMediaType 接口后,可以使用该接口取消操作
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)
初始化配置,建议全局配置一次,尽量避免重复调用。 重复初始化需要重新设置所有监听事件
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)
加入进行中的群组通话。 只要能获取到群组通话ID,无论是否被邀请过,都可以直接加入。 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 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)
响应通话中媒体类型切换请求
  • 单聊接口
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onReplyChangeMediaType 方法获取执行结果。
  • 当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
Link copied to clipboard
public abstract void requestChangeMediaType(RCCallPlusMediaType mediaType)
通话中请求媒体类型切换请求
  • 该接口为单聊接口
  • 由音频切换到音视频,收到媒体类型切换结果通知后,SDK内部会自动发布摄像头流。为了远端用户能正常观看需要开发者调用 startCamera 或 * startCamera 打开摄像头
  • 由音视频切换到音频,收到媒体类型切换结果通知后,不需要手动关闭摄像头
  • 当发生网络断开或IM链接断开等情况导致请求失败时,该方法会根据SDK内部的策略进行重试。如果重试一直失败,最长等待时间约为47秒,然后返回失败监听。
Link copied to clipboard
public abstract RCCallPlusResultCode setAudioConfig(RCCallPlusAudioConfig config)
设置音频配置:音频质量、通话模式、等信息。 需要通话建立前设置生效。
Link copied to clipboard
public abstract void setAudioFrameListener(IRCCallPlusAudioFrameListener audioFrameListener)
设置本地音频数据回调 多次设置会覆盖,以最后一次设置生效 设置为"null"时,释放监听资源 音频数据格式为 PCM
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"时,释放监听资源 回调返回的数据类型 getCaptureType 可以通过 enableEncoderTexture方法控制。

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)
设置远端用户渲染视图 enableTinyStream 方法可以动态设置订阅大小流,默认订阅大流
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()
开启摄像头。视频通话建立后默认状态为关闭,需要主动调用该接口打开摄像头 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onStartCamera 方法获取执行结果。
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()
切换前后摄像头。需要先调用 startCamera 方法开启摄像头后,此方法才生效。 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onSwitchCamera 方法获取执行结果。
public abstract void switchCamera(int cameraId, boolean mirror)
切换指定摄像头。需要先调用 startCamera 方法开启摄像头后,此方法才生效。 调用该方法后会触发以下回调:
  • 该方法内部为异步执行。本地用户通过注册的 setCallPlusResultListener 监听的 onSwitchCamera 方法获取执行结果。
Link copied to clipboard
public abstract void unInit()
反初始化通话引擎。 如果在调用销毁时有正在进行的通话,销毁前SDK内部会调用挂断方法。 会释放给 RCCallPlusClient 对象设置的其他监听,唯独setCallPlusEventListener监听不会销毁,需要您调用RCCallPlusClient#setCallPlusEventListener(null)进行注销,否则会出现内存泄露