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

View in English Always switch to English

RTCRtpTransceiver: direction-Eigenschaft

Baseline
Weitgehend verfügbar
*

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

* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.

Die Eigenschaft direction von 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 Sie die Richtung des Transceivers festlegen, wird der Wert nicht sofort angewendet. Die aktuelle Richtung wird durch die Eigenschaft currentDirection angegeben.

Wert

Ein String mit einem der folgenden Werte:

"sendrecv"

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

  • RTCRtpSender: Bietet an, RTP-Daten zu senden, und tut dies, wenn der entfernte Peer 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 Peer akzeptiert.
"sendonly"

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

  • RTCRtpSender: Bietet an, RTP-Daten zu senden, und tut dies, wenn der entfernte Peer die Verbindung akzeptiert und mindestens eine der Encodings des Senders aktiv ist.
  • RTCRtpReceiver: Bietet nicht an, RTP-Daten zu empfangen, und empfängt sie auch nicht.
"recvonly"

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

  • RTCRtpSender: Bietet nicht an, RTP-Daten zu senden, und sendet sie auch nicht.
  • RTCRtpReceiver: Bietet an, RTP-Daten zu empfangen, und tut dies, wenn der entfernte Peer dies anbietet.
"inactive"

Der Transceiver ist inaktiv:

  • RTCRtpSender: Bietet nicht an, RTP-Daten zu senden, und sendet sie auch nicht.
  • RTCRtpReceiver: Bietet nicht an, RTP-Daten zu empfangen, und empfängt sie auch nicht.
"stopped"

Dies ist der Endzustand des Transceivers. Der Transceiver ist gestoppt und sendet oder empfängt keine RTP-Daten mehr; er bietet dies auch nicht mehr an. Wenn Sie diesen Wert festlegen, obwohl der Transceiver noch nicht gestoppt ist, wird ein TypeError ausgelöst.

  • RTCRtpSender: Bietet nicht an, RTP-Daten zu senden, und sendet sie auch nicht.
  • RTCRtpReceiver: Bietet nicht an, RTP-Daten zu empfangen, und empfängt sie auch nicht.

Ausnahmen

Beim Festlegen des Werts von direction können folgende Ausnahmen auftreten:

InvalidStateError DOMException

Die RTCPeerConnection des Receivers ist geschlossen oder der RTCRtpReceiver ist gestoppt.

TypeError

Der Wert wird auf stopped gesetzt, obwohl der aktuelle Wert nicht stopped ist.

Beschreibung

Mit der Eigenschaft direction können Sie die bevorzugte Richtung des Transceivers festlegen oder abrufen.

Eine Änderung der Richtung wird nicht sofort wirksam. Wenn sich der neue Wert von direction vom bisherigen Wert unterscheidet, muss die Verbindung neu ausgehandelt werden. Daher wird ein negotiationneeded-Ereignis an die RTCPeerConnection gesendet. Ein direction-Wert (außer stopped) wird anschließend von RTCPeerConnection.createOffer() oder RTCPeerConnection.createAnswer() verwendet, um die von diesen Methoden erzeugte SDP-Nachricht zu erstellen. Wenn direction beispielsweise als "sendrecv" angegeben ist, gibt die entsprechende SDP-a-Zeile die Richtung an:

a=sendrecv

Die neue Richtung wird wirksam, sobald der Aushandlungsprozess abgeschlossen und die neue Sitzungsbeschreibung erfolgreich angewendet wurde.

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

Spezifikationen

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

Browser-Kompatibilität

Siehe auch