Options
All
  • Public
  • Public/Protected
  • All
Menu

Class RCCallPlusClient

Hierarchy

  • RCCallPlusClient

Index

Properties

_reportAppEventModule: RCCallPlusReportModule

上报应用层事件模块

Constructors

Methods

  • 注册应用层事件 包含“收到呼叫、通话结束、通话人员状态变更、通话类型变更”等事件 ICallPlusEventListener 对象请参考 apiDoc

    Parameters

    Returns void

  • 注册音视频上下行丢包数据监听 每秒上报一次

    Parameters

    Returns void

  • setVideoView(list: { userId: string; videoElement: HTMLVideoElement; isTiny?: boolean }[]): { code: number }
  • 设置要观看人员(包括自己和对方)的媒体播放器

    Parameters

    • list: { userId: string; videoElement: HTMLVideoElement; isTiny?: boolean }[]

      为一个列表,可传入多人的媒体播放器

    Returns { code: number }

    code 返回是否设置成功

    • code: number
  • removeVideoView(userIds: string[]): { code: number }
  • 删除某个人的媒体播放器 不观看某个人的视频时,业务层可以直接移除对应的 video 标签, 调 removeVideoView 方法,SDK 内部会停止接收对方的媒体传输

    Parameters

    • userIds: string[]

      用户 id 列表

    Returns { code: number }

    code 返回是否删除成功

    • code: number
  • 播放指定人员的音视频媒体 播放某个人的视频前,请确保已经调用 setVideoView 方法为其设置视频视图

    Parameters

    • userId: string

      指定要查看某个人的媒体资源

    • mediaType: RCCallPlusMediaType

      指定播放音频还是视频

    Returns Promise<{ code: number }>

    返回是否播放成功

  • 创建视频配置构建器

    Returns RCVideoConfigBuilder

    RCVideoConfigBuilder 用于构造视频采集时的配置项,可以设置摄像头设备 id、帧率、分辨率等, 设置完需调 build 方法,最终在 setVideoConfig 后生效

  • 设置视频配置 下次采集时生效,如切换摄像头、重新建立通话

    Parameters

    Returns { code: number }

    • code: number
  • 创建音频配置构建器

    Returns RCAudioConfigBuilder

    RCAudioConfigBuilder 用于构造音频采集时的配置项,可以设置麦克风设备 id 设置完需调 build 方法,最终在 setAudioConfig 后生效

  • 创建安卓推送信息构建器

    Returns RCCallPlusAndroidPushConfigBuilder

    RCCallPlusAndroidPushConfigBuilder 用于构造安卓推送信的配置项 设置完需调 build 方法获取设置的 androidPushConfig 数据 最终需把 androidPushConfig 传入 startCall、invite、hangup 方法的 pushConfig.androidConfig 中

  • 设置音频配置 下次采集时生效,如重新建立通话

    Parameters

    Returns { code: number }

    • code: number
  • setAudioOutputDeviceId(deviceId: string): Promise<{ code: number }>
  • 设置音频输出设备,用于指定和修改音频播放设备;

    Parameters

    • deviceId: string

    Returns Promise<{ code: number }>

  • 发起呼叫

    Parameters

    • userIds: string[]

      被叫人员 userId 列表,单人呼叫仅需在数组中放置对方一人的 userId

    • callType: RCCallPlusType = RCCallPlusType.SINGLE
    • mediaType: RCCallPlusMediaType = RCCallPlusMediaType.AUDIO_VIDEO

      通话媒体类型: 音频 or 音视频

    • Optional pushConfig: IRCCallPlusPushConfig

      移动端推送信息

    • Optional extra: string

      附加信息,会透传给被呼叫方

    Returns Promise<{ code: number; callId?: string }>

    callId 呼叫成功后,产生的会话 id

  • joinMultiCall(callId: string): Promise<{ code: number }>
  • 直接加入进行中的群组通话

    Parameters

    • callId: string

      通话 id

    Returns Promise<{ code: number }>

  • 通话中邀请他人 单人通话中邀请他人会引发通话类型变更

    Parameters

    • userIds: string[]

      被邀请人列表

    • Optional pushConfig: IRCCallPlusPushConfig

      移动端推送信息

    • Optional extra: string

      附加信息,会透传给被邀请方

    Returns Promise<{ code: number; busyUsers?: RCCallPlusCallUser[] }>

    busyUsers 返回忙线人员列表

  • 接听通话

    Parameters

    Returns Promise<{ code: number }>

  • 挂断通话

    Parameters

    • Optional callId: string

      为可选参数,不传时,挂断正在进行的主 session,传入时可指定挂断主通话或暂未建立连接的通话

    • Optional pushConfig: IRCCallPlusPushConfig

      移动端推送信息 暂未建立连接的通话:指已在通话中时,收到呼叫但暂未接听的通话

    Returns Promise<{ code: number }>

  • requestChangeMediaType(mediaType: RCCallPlusMediaType): Promise<{ code: number; transactionId?: string }>
  • 通话中发起媒体类型变更请求

    Parameters

    Returns Promise<{ code: number; transactionId?: string }>

    transactionId 客户端和服务端交互的事务 id,在取消或应答媒体类型切换时传入

  • cancelChangeMediaType(transactionId: string): Promise<{ code: number }>
  • 取消切换媒体类型变更请求

    Parameters

    • transactionId: string

      客户端和服务端交互的事务 id,为发起媒体类型变更请求返回的 transactionId

    Returns Promise<{ code: number }>

  • replyChangeMediaType(transactionId: string, isAgree: boolean): Promise<{ code: number }>
  • 媒体类型变更应答

    Parameters

    • transactionId: string

      客户端和服务端交互的事务 id,为 onReceivedChangeToVideo 监听收到 transactionId 参数值

    • isAgree: boolean

    Returns Promise<{ code: number }>

  • 获取当前进行中的通话

    Returns null | RCCallPlusSession

    RCCallPlusSession 对象或 null 为当前正在进行的通话对象

  • 从服务器获取未结束的通话记录

    Returns Promise<{ code: number; records?: IRCCallPlusCallRecord[] }>

    records 一组未结束的通话记录

  • 分页查找当前用户的全部通话记录

    Parameters

    • startTimestamp: number

      起始时间戳, 首次获取可传 -1,倒序时,返回最新的通话记录,正序时,返回最早的通话记录 order 为正序时,返回大于此时间戳的通话记录 order 为倒序时,返回小于此时间戳的通话记录

    • count: number

      每次获取的数量

    • order: 0 | 1 = 0

      正序或倒序获取,默认为正序 0 为正序,向开始时间戳之后查询 1 为倒序,向开始时间戳之前查询

    Returns Promise<{ code: number; result?: IRCCallPlusGetCallRecordRes }>

    result.hasMore 是否有更多通话记录

  • deleteCallRecordsFromServer(callIds: string[]): Promise<{ code: number }>
  • 根据 callId 集合批量删除通话记录

    Parameters

    • callIds: string[]

      callId 列表

    Returns Promise<{ code: number }>

  • deleteAllCallRecordsFromServer(): Promise<{ code: number }>
  • 清空所有通话记录

    Returns Promise<{ code: number }>

  • startCamera(): Promise<{ code: number }>
  • 开启摄像头

    description

    通话过程中打开摄像头,如果扩散资源失败,即对方没收到本端打开摄像头的通知时,此次行为失败

    Returns Promise<{ code: number }>

    track 摄像头视频资源

  • stopCamera(): Promise<{ code: number }>
  • 关闭摄像头

    Returns Promise<{ code: number }>

  • switchCamera(cameraId: string): Promise<{ code: number }>
  • 切换摄像头功能,通话前和通话中都可调用。

    description

    切换成功后,ICallPlusEventListener 监听器的 onUserMediaAvailable 会被触发,此时调用 callPlusClient.playMedia 方法播放新的资源。

    Parameters

    • cameraId: string

      浏览器中取得的摄像头设备 id,可调 getCameras 方法取得

    Returns Promise<{ code: number }>

  • startMicrophone(): Promise<{ code: number }>
  • 开启麦克风

    description

    通话过程中打开麦克风,如果扩散资源失败,即对方没收到本端打开麦克风的通知时,此次行为失败

    Returns Promise<{ code: number }>

  • stopMicrophone(): Promise<{ code: number }>
  • 关闭麦克风

    description

    通话过程中关闭麦克风,如果扩散资源失败,即对方没收到本端关闭麦克风的通知时,此次行为失败

    Returns Promise<{ code: number }>

  • isMicrophoneEnabled(): boolean
  • 麦克风是否开启

    Returns boolean

  • setAllRemoteAudioEnable(enable: boolean): Promise<{ code: number }>
  • 设置所有远端音频流是否可用

    Parameters

    • enable: boolean

      为 true 时,启用所有远端音频流;为 false 时,静音所有远端音频流

    Returns Promise<{ code: number }>

  • getVersion(): string
  • 获取 SDK 版本信息

    Returns string

    SDK 版本号

  • getCameras(): Promise<MediaDeviceInfo[]>
  • 获取摄像头列表

    Returns Promise<MediaDeviceInfo[]>

  • getMicrophones(): Promise<MediaDeviceInfo[]>
  • 获取麦克风列表

    Returns Promise<MediaDeviceInfo[]>

  • getSpeakers(): Promise<MediaDeviceInfo[]>
  • 获取声音播放设备列表

    Returns Promise<MediaDeviceInfo[]>

  • getRTCSessionId(): null | string
  • Returns null | string

  • switchMicrophone(microphoneId: string): Promise<{ code: number }>
  • 切换麦克风功能,通话前和通话中都可调用。

    description

    切换成功后,ICallPlusEventListener 监听器的 onUserMediaAvailable 会被触发,此时调用 callPlusClient.playMedia 方法播放新的资源。

    Parameters

    • microphoneId: string

      浏览器中取得的麦克风设备 id,可调 getMicrophones 方法取得

    Returns Promise<{ code: number }>