Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Client

4 plugin

Hierarchy

  • Client

Index

Methods

getLocalStreams

  • 获取当前 Client 已发布的本地流

    example
    const localStreams = client.getLocalStreams();
    

    Returns LocalStream[]

getRemoteStreams

  • 获取当前 Client 已接收到的远端流(包含已订阅或未订阅的远端流)

    example
    const remoteStreams = client.getRemoteStreams();
    

    Returns RemoteStream[]

getRemoteUsers

  • getRemoteUsers(): User[]
  • 获取远端用户信息

    example
    const users = client.getRemoteUsers();
    

    Returns User[]

join

  • join(roomId: string, userId: string, token: string, opts?: JoinOptions): Promise<void>
  • 加入房间

    example
    const remoteStreams = client.getRemoteStreams();
    client
      .join('roomIdxxx', 'userIdxxx', 'tokenxxx')
      .then(() => {
        console.log(`加入房间成功`);
        // client.publish(localStream);
      })
      .catch((err) => {
        console.log(`加入房间失败 ${err}`);
      });
    
    reject

    RtcError

    Parameters

    • roomId: string

      房间ID

    • userId: string

      用户ID

    • token: string

      由 AppId,AppKey,RoomId,UserId 生成的令牌

    • Optional opts: JoinOptions

      其他选项

    Returns Promise<void>

leave

  • leave(): Promise<void>
  • 离开房间

    example
    client
      .leave()
      .then(() => {
        console.log(`离开房间成功`);
      })
      .catch((err) => {
        console.log(`离开房间失败 ${err}`);
      });
    

    Returns Promise<void>

off

  • off<T>(type: T, listener?: Listener<T>): Client
  • 取消监听 Client 对象的事件

    example
    client.off('stream-added', handleStreamAdded);
    

    特别地,一次性取消对所有事件的监听

    example
    client.off('*');
    
    throws

    RtcError

    Type parameters

    • T: "error" | "user-joined" | "user-left" | "kick-off" | "stream-added" | "stream-removed" | "stream-subscribed" | "stream-published" | "stream-reconnecting" | "stream-reconnected" | "mute-audio" | "unmute-audio" | "mute-video" | "unmute-video" | "first-key-frame" | "audio-track-ended" | "screen-sharing-stopped" | "connection-state-changed" | "network-quality" | "player-status-change" | "device-changed" | "*"

    Parameters

    • type: T

      事件类型,特别的,可以使用 * 来一次性取消对所有事件的监听

    • Optional listener: Listener<T>

      事件监听函数

    Returns Client

on

  • on<T>(type: T, listener: Listener<T>): Client
  • 监听 Client 对象的事件

    example
    const handleStreamAdded = (event) => {
      client
        .subscribe(event.data)
        .catch((err) => {
          console.log(`订阅失败 ${err}`);
        });
    }
    client.on('stream-added', handleStreamAdded);
    
    throws

    RtcError

    Type parameters

    Parameters

    • type: T

      事件类型

    • listener: Listener<T>

      事件监听函数

    Returns Client

publish

  • 发布一条本地流

    example
    client
      .publish(localStream)
      .catch((err) => {
        console.log(`发布失败 ${err}`);
      });
    
    reject

    RtcError

    Parameters

    Returns Promise<void>

setRole

  • 修改用户角色

    example
    client.setRole('push');
    
    throws

    RtcError

    Parameters

    Returns void

subscribe

  • 订阅一条远端流

    example
    client
      .subscribe(remoteStream)
      .catch((err) => {
        console.log(`订阅失败 ${err}`);
      });
    
    reject

    RtcError

    Parameters

    Returns Promise<void>

unpublish

  • 取消发布一条本地流

    example
    client
      .unpublish(localStream)
      .then(() => {
        console.log('取消发布成功');
        // localStream.destroy();
      })
      .catch((err) => {
        console.log(`取消发布失败 ${err}`);
      });
    
    reject

    RtcError

    Parameters

    Returns Promise<void>

unsubscribe

  • 取消订阅一条远端流

    example
    client
      .unsubscribe(remoteStream)
      .catch((err) => {
        console.log(`取消订阅失败 ${err}`);
      });
    
    reject

    RtcError

    Parameters

    Returns Promise<void>

Generated using TypeDoc