RTCRtpTransceiver: direction property
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.
* Some parts of this feature may have varying levels of support.
Thuộc tính RTCRtpTransceiver direction là một chuỗi cho biết hướng mong muốn của transceiver.
Hướng này cho biết transceiver có sẽ đề nghị gửi và/hoặc nhận dữ liệu RTP hay không, hoặc nó đang không hoạt động hay đã bị dừng (terminated).
Khi đặt hướng của transceiver, giá trị không được áp dụng ngay lập tức.
Hướng hiện tại được biểu thị bởi thuộc tính currentDirection.
Giá trị
Một chuỗi với một trong các giá trị sau:
"sendrecv"-
Transceiver đề nghị gửi và nhận dữ liệu RTP:
RTCRtpSender: Đề nghị gửi dữ liệu RTP, và sẽ thực hiện nếu phía từ xa chấp nhận kết nối và ít nhất một encoding của sender đang hoạt động.RTCRtpReceiver: Đề nghị nhận dữ liệu RTP, và sẽ làm như vậy nếu phía từ xa chấp nhận.
"sendonly"-
Transceiver đề nghị chỉ gửi chứ không nhận dữ liệu RTP:
RTCRtpSender: Đề nghị gửi dữ liệu RTP, và sẽ thực hiện nếu phía từ xa chấp nhận kết nối và ít nhất một encoding của sender đang hoạt động.RTCRtpReceiver: Không đề nghị nhận dữ liệu RTP và sẽ không nhận.
"recvonly"-
Transceiver đề nghị nhận nhưng không đề nghị gửi dữ liệu RTP:
RTCRtpSender: Không đề nghị gửi dữ liệu RTP và sẽ không gửi.RTCRtpReceiver: Đề nghị nhận dữ liệu RTP, và sẽ làm như vậy nếu phía từ xa đề nghị.
"inactive"-
Transceiver không hoạt động:
RTCRtpSender: Không đề nghị gửi dữ liệu RTP và sẽ không gửi.RTCRtpReceiver: Không đề nghị nhận dữ liệu RTP và sẽ không nhận.
"stopped"-
Đây là trạng thái cuối cùng của transceiver. Transceiver đã bị dừng và sẽ không gửi hoặc nhận dữ liệu RTP, cũng không đề nghị làm như vậy. Việc đặt giá trị này khi transceiver chưa dừng sẽ ném
TypeError.RTCRtpSender: Không đề nghị gửi dữ liệu RTP và sẽ không gửi.RTCRtpReceiver: Không đề nghị nhận dữ liệu RTP và sẽ không nhận.
Ngoại lệ
Khi đặt giá trị cho direction, có thể xảy ra các ngoại lệ sau:
InvalidStateErrorDOMException-
Receiver's
RTCPeerConnectionđã đóng hoặcRTCRtpReceiverđã dừng. TypeError-
Giá trị đang được đặt thành
stoppedtrong khi giá trị hiện tại không phảistopped.
Mô tả
Thuộc tính direction có thể được dùng để đặt hoặc lấy hướng mong muốn của transceiver.
Việc cập nhật hướng không có hiệu lực ngay lập tức.
Nếu giá trị mới của direction khác với giá trị hiện có, cần thương lượng lại kết nối, vì vậy một sự kiện negotiationneeded sẽ được gửi đến RTCPeerConnection.
Giá trị direction (khác stopped) sau đó được RTCPeerConnection.createOffer() hoặc RTCPeerConnection.createAnswer() dùng để tạo thông điệp SDP do các phương thức này sinh ra.
Ví dụ, nếu direction được chỉ định là "sendrecv", a-line SDP tương ứng sẽ cho biết hướng:
a=sendrecv
Hướng mới sẽ có hiệu lực sau khi quá trình thương lượng hoàn tất và session description mới được áp dụng thành công.
Hướng hiện tại của transceiver được biểu thị bởi thuộc tính currentDirection.
Tiêu chuẩn
| Thông số kỹ thuật |
|---|
| WebRTC: Real-Time Communication in Browsers> # dom-rtcrtptransceiver-direction> |