RTCSessionDescription

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

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

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

プロパティ

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

RTCSessionDescription.type 読取専用

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

RTCSessionDescription.sdp 読取専用

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

インスタンスメソッド

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

RTCSessionDescription() 非推奨;

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

RTCSessionDescription.toJSON()

このオブジェクトの JSON による表現を生成して返します。生成された JSON は、typesdp を含みます。

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

関連情報