RTCRtpTransceiver: direction-Eigenschaft

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 Eigenschaft direction des RTCRtpTransceiver ist ein String, der die bevorzugte Richtung des Transceivers angibt.

Die Richtung gibt an, ob der Transceiver anbietet, RTP-Daten zu senden und/oder zu empfangen oder ob er inaktiv oder gestoppt (beendet) ist. Wenn die Richtung des Transceivers festgelegt wird, wird der Wert nicht sofort angewendet. Die aktuelle Richtung wird durch die Eigenschaft currentDirection angegeben.

Wert

Ein String mit einem der folgenden Werte:

"sendrecv"

Transceiver bietet an, RTP-Daten zu senden und zu empfangen:

  • RTCRtpSender: Bietet an, RTP-Daten zu senden und wird dies tun, wenn der entfernte Peers die Verbindung akzeptiert und mindestens eine der Encodings des Senders aktiv ist.
  • RTCRtpReceiver: Bietet an, RTP-Daten zu empfangen und tut dies, wenn der entfernte Peers zustimmt.
"sendonly"

Transceiver bietet an, RTP-Daten nur zu senden, aber nicht zu empfangen:

  • RTCRtpSender: Bietet an, RTP-Daten zu senden und wird dies tun, wenn der entfernte Peers die Verbindung akzeptiert und mindestens eine der Encodings des Senders aktiv ist.
  • RTCRtpReceiver: Bietet nicht an, RTP-Daten zu empfangen und wird dies auch nicht tun.
"recvonly"

Transceiver bietet an, RTP-Daten zu empfangen, aber nicht zu senden:

  • RTCRtpSender: Bietet nicht an, RTP-Daten zu senden und wird dies auch nicht tun.
  • RTCRtpReceiver: Bietet an, RTP-Daten zu empfangen und wird dies tun, wenn der entfernte Peers dies anbietet.
"inactive"

Transceiver ist inaktiv:

  • RTCRtpSender: Bietet nicht an, RTP-Daten zu senden und wird dies auch nicht tun.
  • RTCRtpReceiver: Bietet nicht an, RTP-Daten zu empfangen und wird dies auch nicht tun.
"stopped"

Dies ist der Endzustand des Transceivers. Der Transceiver ist gestoppt und wird keine RTP-Daten senden oder empfangen oder dies anbieten. Das Festlegen dieses Werts, wenn der Transceiver noch nicht gestoppt ist, führt zu einem TypeError.

  • RTCRtpSender: Bietet nicht an, RTP-Daten zu senden und wird dies auch nicht tun.
  • RTCRtpReceiver: Bietet nicht an, RTP-Daten zu empfangen und wird dies auch nicht tun.

Ausnahmen

Beim Setzen des Werts von direction kann die folgende Ausnahme auftreten:

InvalidStateError DOMException

Der RTCPeerConnection-Receiver ist geschlossen oder der RTCRtpReceiver ist gestoppt.

TypeError

Der Wert wird auf stopped gesetzt, wenn der aktuelle Wert etwas anderes als stopped ist.

Beschreibung

Die direction-Eigenschaft kann verwendet werden, um die bevorzugte Richtung des Transceivers festzulegen oder abzurufen.

Die Aktualisierung der Richtung tritt nicht sofort in Kraft. Wenn der neue Wert von direction von dem bestehenden Wert abweicht, ist eine Neuverhandlung der Verbindung erforderlich, sodass ein negotiationneeded-Ereignis an die RTCPeerConnection gesendet wird. Ein direction-Wert (außer stopped) wird dann von RTCPeerConnection.createOffer() oder RTCPeerConnection.createAnswer() verwendet, um die SDP-Nachricht zu erzeugen, die durch diese Methoden erstellt wird. Zum Beispiel, wenn die direction als "sendrecv" angegeben ist, gibt die entsprechende SDP a-Zeile die Richtung an:

a=sendrecv

Die neue Richtung tritt in Kraft, sobald der Verhandlungsprozess abgeschlossen und die neue Sitzungsbeschreibung erfolgreich angewendet wurde.

Die aktuelle Richtung des Transceivers wird durch die Eigenschaft currentDirection angezeigt.

Spezifikationen

Specification
WebRTC: Real-Time Communication in Browsers
# dom-rtcrtptransceiver-direction

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch