Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Client

URTC 客户端,可进行加入、离开房间,发布、订阅流等操作。

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('roomId', 'userId', 'token-xxx')
      .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>): void
  • 取消监听 Client 对象的事件

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

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

    example
    client.off('*');
    throws

    RtcError

    Type parameters

    Parameters

    • type: T

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

    • Optional listener: Listener<T>

      事件监听函数

    Returns void

on

  • on<T>(type: T, listener: Listener<T>): void
  • 监听 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 void

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