Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

RTCSessionDescription

Baseline
Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2017 browserübergreifend verfügbar.

Die Schnittstelle RTCSessionDescription beschreibt eine Seite einer Verbindung – oder einer möglichen Verbindung – und ihre Konfiguration. Jede RTCSessionDescription besteht aus einem type, der angibt, welchen Teil des Offer/Answer-Aushandlungsprozesses sie beschreibt, und einem SDP-Deskriptor der Sitzung.

Bei der Aushandlung einer Verbindung zwischen zwei Peers werden RTCSessionDescription-Objekte ausgetauscht. Jede Beschreibung schlägt dabei eine Kombination von Konfigurationsoptionen für die Verbindung vor, die der Absender unterstützt. Sobald sich die beiden Peers auf eine Konfiguration für die Verbindung geeinigt haben, ist die Aushandlung abgeschlossen.

Konstruktor

RTCSessionDescription()

Erstellt eine neue RTCSessionDescription durch Angabe von type und sdp. Alle Methoden, die RTCSessionDescription-Objekte akzeptieren, akzeptieren auch Objekte mit denselben Eigenschaften. Daher können Sie statt einer RTCSessionDescription-Instanz ein einfaches Objekt verwenden.

Instanzeigenschaften

Die Schnittstelle RTCSessionDescription erbt keine Eigenschaften.

RTCSessionDescription.type Schreibgeschützt

Ein Enum, das den Typ der Sitzungsbeschreibung angibt.

RTCSessionDescription.sdp Schreibgeschützt

Eine Zeichenfolge mit dem SDP, das die Sitzung beschreibt.

Instanzmethoden

Die Schnittstelle RTCSessionDescription erbt keine Methoden.

RTCSessionDescription.toJSON()

Gibt ein JSON-serialisierbares einfaches Objekt zurück, das das RTCSessionDescription-Objekt repräsentiert. Wird von JSON.stringify() automatisch aufgerufen.

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

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

Browser-Kompatibilität

Siehe auch