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.

Die RTCSessionDescription-Schnittstelle beschreibt eine Seite einer Verbindung oder potenziellen Verbindung und wie diese konfiguriert ist. Jede RTCSessionDescription besteht aus einem Beschreibungs-type, der angibt, welchen Teil des Angebot/Ablehnungs-Negotiationsprozesses sie beschreibt, und aus dem SDP-Descriptor der Sitzung.

Der Prozess der Verhandlung einer Verbindung zwischen zwei Peers beinhaltet den Austausch von RTCSessionDescription-Objekten, wobei jede Beschreibung eine Kombination von Verbindungskonfigurationsoptionen vorschlägt, die der Sender der Beschreibung unterstützt. Sobald die beiden Peers sich auf eine Konfiguration für die Verbindung geeinigt haben, ist die Verhandlung abgeschlossen.

Konstruktor

RTCSessionDescription() Veraltet

Erstellt eine neue RTCSessionDescription, indem der type und sdp spezifiziert werden. Alle Methoden, die RTCSessionDescription-Objekte akzeptieren, akzeptieren auch Objekte mit denselben Eigenschaften, sodass Sie ein einfaches Objekt anstelle der Erstellung einer RTCSessionDescription-Instanz verwenden können.

Instanzeigenschaften

Die RTCSessionDescription-Schnittstelle erbt keine Eigenschaften.

RTCSessionDescription.type Schreibgeschützt

Ein Enum, das den Typ der Sitzungsbeschreibung beschreibt.

RTCSessionDescription.sdp Schreibgeschützt

Ein String, der die Sitzung mit SDP beschreibt.

Instanzmethoden

Die RTCSessionDescription erbt keine Methoden.

RTCSessionDescription.toJSON()

Gibt eine JSON-Beschreibung des Objekts zurück. Die Werte beider Eigenschaften, type und sdp, sind im erzeugten JSON enthalten.

Beispiel

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

  const message = JSON.parse(evt.data);
  if (message.type && message.sdp) {
    pc.setRemoteDescription(
      new RTCSessionDescription(message),
      () => {
        // if we received an offer, we need to answer
        if (pc.remoteDescription.type === "offer") {
          pc.createAnswer(localDescCreated, logError);
        }
      },
      logError,
    );
  } else {
    pc.addIceCandidate(
      new RTCIceCandidate(message.candidate),
      () => {},
      logError,
    );
  }
};

Spezifikationen

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

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
RTCSessionDescription
RTCSessionDescription() constructor
Deprecated
sdp
toJSON
type

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Deprecated. Not for use in new websites.
Requires a vendor prefix or different name for use.
Has more compatibility info.

Siehe auch