RTCSessionDescription

RTCSessionDescription インターフェイスは、接続 (または接続する予定のもの) の一端と、その構成方法を記述します。それぞれの RTCSessionDescription は、どのオファー/アンサー交渉プロセスを使用するかを表す記述の type (en-US) と、セッションの SDP (en-US) 記述子から成ります。

2 つのピア間で接続を交渉するプロセスでは、 RTCSessionDescription オブジェクトをやり取りします。それぞれの説明は、説明の送り手が対応している接続構成オプションの組み合わせを提案します。 2 つのピア間で接続の構成が合意されると、交渉は完全に完了します。

プロパティ

RTCSessionDescription は何もプロパティを継承していません。

RTCSessionDescription.type (en-US) 読取専用

列挙型であり、ディスクリプションの種類を表します。

RTCSessionDescription.sdp (en-US) 読取専用

文字列で、セッションを説明するための SDP (en-US) が入ります。

インスタンスメソッド

RTCSessionDescription は何もメソッドを継承していません。

RTCSessionDescription() (en-US) 非推奨

新しい RTCSessionDescription を返します。この引数は RTCSessionDescriptionInit 辞書であり (任意の) 2 つの引数を含みます。

RTCSessionDescription.toJSON() (en-US)

このオブジェクトの JSON による表現を生成して返します。生成された JSON は、type (en-US)sdp (en-US) を含みます。

js
signalingChannel.onmessage = (evt) => {
  if (!pc) start(false);

  const message = JSON.parse(evt.data);
  if (message.sdp) {
    pc.setRemoteDescription(
      new RTCSessionDescription(message),
      () => {
        // オファーを受け取った場合、このオファーに対して応答する。
        if (pc.remoteDescription.type === "offer") {
          pc.createAnswer(localDescCreated, logError);
        }
      },
      logError,
    );
  } else {
    pc.addIceCandidate(
      new RTCIceCandidate(message.candidate),
      () => {},
      logError,
    );
  }
};

仕様書

Specification
WebRTC: Real-Time Communication in Browsers
# rtcsessiondescription-class

ブラウザーの互換性

BCD tables only load in the browser

関連情報