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 RTCSessionDescription-Schnittstelle beschreibt ein Ende einer Verbindung – oder einer potenziellen Verbindung – und wie diese konfiguriert ist. Jede RTCSessionDescription besteht aus einem Beschreibungs-type-Parameter, der angibt, welchen Teil des Angebots-/Antwortverhandlungsprozesses sie beschreibt, und aus dem SDP-Descriptor der Sitzung.

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

Konstruktor

RTCSessionDescription()

Erstellt eine neue RTCSessionDescription, indem der type und sdp angegeben werden. Alle Methoden, die RTCSessionDescription-Objekte akzeptieren, akzeptieren auch Objekte mit denselben Eigenschaften, sodass Sie statt der Erstellung einer RTCSessionDescription-Instanz ein einfaches Objekt 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 SDP beschreibt, die die Sitzung beschreibt.

Instanzmethoden

Die RTCSessionDescription-Schnittstelle erbt keine Methoden.

RTCSessionDescription.toJSON()

Gibt eine JSON-Beschreibung des Objekts zurück. Die Werte beider Eigenschaften, type und sdp, sind im generierten 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

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

Browser-Kompatibilität

Siehe auch