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
TypeErrorausgelö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:
InvalidStateErrorDOMException-
Die
RTCPeerConnectiondes Receivers ist geschlossen oder derRTCRtpReceiverist gestoppt. TypeError-
Der Wert wird auf
stoppedgesetzt, obwohl der aktuelle Wert nichtstoppedist.
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> |