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 derRTCRtpReceiver
ist gestoppt. TypeError
-
Der Wert wird auf
stopped
gesetzt, wenn der aktuelle Wert etwas anderes alsstopped
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