Hierarchy

  • JuphoonWeChatSdk

Index

Methods

activate

  • activate(devices: number): Promise<any>
  • 激活设备媒体功能

    前提条件 首次调用在调用open方法后,以及close方法前执行。

    Parameters

    • devices: number

      需要开启媒体的对应值

      参数 类型 说明
      devices number 1 - 扬声器
      2 - 麦克风
      3 - 扬声器和麦克风
      4 - 摄像头
      5 - 扬声器、麦克风和摄像头

    Returns Promise<any>

    返回值

    • 首次执行返回拉流与推流对象,拉流放在live-player组件中,推流放在live-pusher组件中
    • 后面使用返回开启媒体设备是否成功
      • true 成功
      • false 失败

addEventListener

  • addEventListener(type: JRTCEventType, callback): Promise<Function>
  • 添加事件监听器

    Parameters

    • type: JRTCEventType

      要监听的事件类型JRTCEventType

    • callback

      事件监听回调

    Returns Promise<Function>

    返回值 若添加成功则返回一个函数, 用于移除事件监听

    注意 代码中不可重复调用监听器,若需重复执行监听事件,需要调用removeEventListener移除对应的监听器后,再添加监听器

close

  • close(): Promise<any>

deactivate

  • deactivate(devices: number): Promise<boolean>
  • 关闭设备媒体功能

    前提条件 先调用activate方法后,在close方法前执行,调用此方法才有效果。

    Parameters

    • devices: number

      需要关闭媒体的对应值

      参数 类型 说明
      devices number 1 - 扬声器
      2 - 麦克风
      3 - 扬声器和麦克风
      4 - 摄像头
      5 - 扬声器、麦克风和摄像头

    Returns Promise<boolean>

    返回值
    • true 成功
    • false 失败

destroyClient

  • destroyClient(): Promise<any>
  • 销毁Client,调用此方法后,你将无法再使用 Client 的其它方法和回调

    前提条件 初始化实例成功之后,可执行该方法

initClient

  • initClient(appKey: string, token: string, accountName: string): Promise<object>
  • 初始化实例,可监听JRTCEventType.CREATE 事件来判断是否执行成功

    Parameters

    • appKey: string

      string类型,appKey

    • token: string

      string类型,在开发者网站,根据appKey等生成,详见开发者中心

    • accountName: string

      用户名称,该账号为自定义账号不能为空,可由英文、数字和 * + 、 - 、 _ 、 . 组成(特殊字符不能作为第一个字符),大小写不敏感,长度不能超过 64 个字符。

    Returns Promise<object>

    返回值

    • 成功
      {
      										  ret:true,
      										  client:client对象
      										}
      										
    • 失败
      {
      										  ret:false,
      										  reason:失败原因
      										}
      										

open

  • open(userId: string, isSip: boolean, iotTicket: string, isVideo: boolean): Promise<any>
  • 发起呼叫

    可通过监听JRTCEventType.TRYINGJRTCEventType.ALERTEDJRTCEventType.TALKINGJRTCEventType.TERMEDJRTCEventType.CALLBUSY等事件,来判断呼叫状态,如果想取消发起的呼叫,可直接调用close方法来结束该次通话

    前提条件

    1. 需要先创建会议客户端,调用initClient;
    2. userId存在,否则会报错。

    Parameters

    • userId: string

      被叫用户账号,用户名称,该账号为自定义账号不能为空,可由英文、数字和 + 、 - 、 _ 、 . 组成(特殊字符不能作为第一个字符),大小写不敏感,长度不能超过 64 个字符。

    • isSip: boolean

      是否为SIP通话,若为true,则为SIP通话;若已经有SIP配置,则不论isSip是否为true,都是SIP通话

    • iotTicket: string

      iotTicket,开发者自定义的唯一 ID,对呼时, 必须使用相同的ticket,以便服务器精确标识会话。注意:不能包含JSON需转义的字符,且不能超过 64 位

    • isVideo: boolean

      是否发起视频通话,若有一端为语音通话,则该通话为语音通话;通过监听JRTCEventType.TALKING事件,根据回调结果event.message.bvideo,来判断是否为视频通话

      数据结构
      {
      											  message:{
      											    result:true,
      											    bvideo:true
      											  }
      											}
      											

removeEventListener

  • removeEventListener(type: JRTCEventType, callback): Promise<boolean>
  • 移除事件监听器, 要提供与调用addEventListener时相同的参数

    前提条件 需要先调用addEventListener监听器,才能移除。

    Parameters

    • type: JRTCEventType

      要移除的事件监听器类型

    • callback

      要移除的事件监听回调

    Returns Promise<boolean>

    返回值 返回true表示有该type监听器并且移除成功

switchCamera

  • switchCamera(mode: string): Promise<object>
  • 切换摄像头,默认开启的是前置摄像头

    前提条件 是视频通话且需要先打开摄像头,开启摄像头方法activate

    Parameters

    • mode: string

      指定的摄像头约束,有两种参数:front、back

      front: 前置摄像头,back: 后置摄像头