sora-js-sdk
    Preparing search index...

    Class ConnectionPublisher

    Role が "sendonly" または "sendrecv" の場合に Sora との WebRTC 接続を扱うクラス

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    authMetadata: JSONType

    type offer に含まれる認証 metadata

    bundleId: null | string

    バンドルID

    channelId: string

    チャネルID

    clientId: null | string

    クライアントID

    connectedSignalingUrl: string

    WS シグナリングで type offer メッセージを受信したシグナリング URL

    connectionId: null | string

    コネクションID

    constraints: unknown

    PeerConnection に渡す configuration

    contactSignalingUrl: string

    WS シグナリングで最初に type connect を送信したシグナリング URL

    debug: boolean

    デバッグフラグ

    encodings: RTCRtpEncodingParameters[]

    サイマルキャストで使用する RTCRtpEncodingParameters のリスト

    metadata: undefined | JSONType

    メタデータ

    接続オプション

    pc: null | RTCPeerConnection

    PeerConnection インスタンス

    remoteConnectionIds: string[]

    リモートコネクションIDのリスト

    role: string

    ロール(sendonly | sendrecv | recvonly)

    sessionId: null | string

    type offer に含まれるセッションID。Sora 2023.2.0 以降に接続した時に含まれる

    signalingUrlCandidates: string | string[]

    シグナリングに使用する URL 候補

    simulcast: boolean

    サイマルキャスト

    spotlight: boolean

    スポットライト

    stream: null | MediaStream

    メディアストリーム

    Accessors

    • get audio(): boolean

      audio が有効かどうか

      Returns boolean

    • get signalingUrl(): string | string[]

      シグナリングに使用する URL

      Returns string | string[]

    • get video(): boolean

      video が有効かどうか

      Returns boolean

    Methods

    • Sora へ接続するメソッド

      Parameters

      • stream: MediaStream

        メディアストリーム

      Returns Promise<MediaStream>

      const sendrecv = connection.sendrecv("sora");
      const mediaStream = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
      await sendrecv.connect(mediaStream);
    • 切断処理をするメソッド

      Returns Promise<void>

      await sendrecv.disconnect();
      
    • SendRecv Object で発火するイベントのコールバックを設定するメソッド

      Type Parameters

      Parameters

      • kind: T

        イベントの種類(disconnect, push, track, removetrack, notify, log, timeout, timeline, signaling, message, datachannel)

      • callback: U

        コールバック関数

      Returns void

      const sendrecv = connection.sendrecv("sora");
      sendrecv.on("track", (event) => {
      // callback 処理
      });
    • audio track を削除するメソッド

      Parameters

      • stream: MediaStream

        audio track を削除する MediaStream

      Returns Promise<void>

      const sendrecv = connection.sendrecv("sora");
      const mediaStream = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
      await sendrecv.connect(mediaStream);

      sendrecv.removeAudioTrack(mediaStream);

      stream の audio track を停止後、PeerConnection の senders から対象の sender を削除します

    • video track を削除するメソッド

      Parameters

      • stream: MediaStream

        video track を削除する MediaStream

      Returns Promise<void>

      const sendrecv = connection.sendrecv("sora");
      const mediaStream = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
      await sendrecv.connect(mediaStream);

      sendrecv.removeVideoTrack(mediaStream);

      stream の video track を停止後、PeerConnection の senders から対象の sender を削除します

    • audio track を入れ替えするメソッド

      Parameters

      • stream: MediaStream

        audio track を削除する MediaStream

      • audioTrack: MediaStreamTrack

        新しい audio track

      Returns Promise<void>

      const sendrecv = connection.sendrecv("sora");
      const mediaStream = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
      await sendrecv.connect(mediaStream);

      const replacedMediaStream = await navigator.mediaDevices.getUserMedia({audio: true});
      await sendrecv.replaceAudioTrack(mediaStream, replacedMediaStream.getAudioTracks()[0]);

      stream の audio track を停止後、新しい audio track をセットします

    • video track を入れ替えするメソッド

      Parameters

      • stream: MediaStream

        video track を削除する MediaStream

      • videoTrack: MediaStreamTrack

        新しい video track

      Returns Promise<void>

      const sendrecv = connection.sendrecv("sora");
      const mediaStream = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
      await sendrecv.connect(mediaStream);

      const replacedMediaStream = await navigator.mediaDevices.getUserMedia({video: true});
      await sendrecv.replaceVideoTrack(mediaStream, replacedMediaStream.getVideoTracks()[0]);

      stream の video track を停止後、新しい video track をセットします

    • DataChannel を使用してメッセージを送信するメソッド

      Parameters

      • label: string

        メッセージを送信する DataChannel のラベル

      • message: Uint8Array

        Uint8Array

      Returns Promise<void>

    • audio track を削除するメソッド

      Parameters

      • stream: MediaStream

        audio track を削除する MediaStream

      Returns Promise<void>

      この関数は非推奨です。代わりに removeAudioTrack を使用してください

      const sendrecv = connection.sendrecv("sora");
      const mediaStream = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
      await sendrecv.connect(mediaStream);

      sendrecv.stopAudioTrack(mediaStream);

      stream の audio track を停止後、PeerConnection の senders から対象の sender を削除します

    • video track を削除するメソッド

      Parameters

      • stream: MediaStream

        video track を停止する MediaStream

      Returns Promise<void>

      この関数は非推奨です。代わりに removeVideoTrack を使用してください

      const sendrecv = connection.sendrecv("sora");
      const mediaStream = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
      await sendrecv.connect(mediaStream);

      sendrecv.stopVideoTrack(mediaStream);

      stream の video track を停止後、PeerConnection の senders から対象の sender を削除します