Class ConnectionMessaging

messaging_only 専用のクラス 利用する場合は Sora 側での設定が必要 Role は "sendonly" に固定される

Hierarchy (View Summary)

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 へ接続するメソッド、legacyStream は利用できない

    Returns Promise<void>

    const messaging = connection.messaging("sora");
    await messaging.connect();
  • 切断処理をするメソッド

    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<ArrayBufferLike>

      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 を削除します