RTCTrackEvent

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.

Giao diện RTCTrackEvent của WebRTC API đại diện cho sự kiện track, được gửi khi một MediaStreamTrack mới được thêm vào RTCRtpReceiver là một phần của RTCPeerConnection.

Đích là đối tượng RTCPeerConnection mà track đang được thêm vào.

Sự kiện này được gửi bởi lớp WebRTC đến trang web hoặc ứng dụng, vì vậy thông thường bạn sẽ không cần tự khởi tạo một RTCTrackEvent.

Event RTCTrackEvent

Hàm khởi tạo

RTCTrackEvent()

Tạo và trả về một đối tượng RTCTrackEvent mới. Bạn có thể sẽ không cần tự tạo các track event mới, vì chúng thường được tạo bởi cơ sở hạ tầng WebRTC và gửi đến trình xử lý sự kiện ontrack của kết nối.

Thuộc tính phiên bản

RTCTrackEvent dựa trên Event, các thuộc tính của nó cũng có sẵn.

receiver Read only

RTCRtpReceiver được sử dụng bởi track đã được thêm vào RTCPeerConnection.

streams Read only Optional

Một mảng các đối tượng MediaStream, mỗi đối tượng đại diện cho một trong các media stream mà track được thêm vào thuộc về. Theo mặc định, mảng rỗng, cho biết một track không có stream.

track Read only

MediaStreamTrack đã được thêm vào kết nối.

transceiver Read only

RTCRtpTransceiver đang được sử dụng bởi track mới.

Các loại sự kiện track

Chỉ có một loại sự kiện track.

track

Sự kiện track được gửi đến RTCPeerConnection khi một track mới được thêm vào kết nối. Vào thời điểm sự kiện track được gửi đến trình xử lý ontrack của RTCPeerConnection, phương tiện mới đã hoàn thành quá trình thương lượng cho một RTCRtpReceiver cụ thể (được chỉ định bởi thuộc tính receiver của sự kiện).

Ngoài ra, MediaStreamTrack được chỉ định bởi track của receiver giống với track được chỉ định bởi track của sự kiện, và track đã được thêm vào bất kỳ đối tượng MediaStream từ xa liên kết nào.

Bạn có thể thêm trình lắng nghe sự kiện track để được thông báo khi track mới có sẵn để bạn có thể, ví dụ, gắn phương tiện của nó vào phần tử <video>, bằng cách sử dụng RTCPeerConnection.addEventListener() hoặc thuộc tính trình xử lý sự kiện ontrack.

Note: Có thể hữu ích khi nhớ rằng bạn nhận được sự kiện track khi một track đến mới được thêm vào kết nối của bạn, và bạn gọi addTrack() để thêm một track vào đầu xa của kết nối, qua đó kích hoạt một sự kiện track trên peer từ xa.

Ví dụ

Ví dụ đơn giản này tạo một trình lắng nghe sự kiện cho sự kiện track để đặt srcObject của phần tử <video> có ID video-box thành stream đầu tiên trong danh sách được truyền trong mảng streams của sự kiện.

js
peerConnection.addEventListener("track", (e) => {
  let videoElement = document.getElementById("video-box");
  videoElement.srcObject = e.streams[0];
});

Thông số kỹ thuật

Specification
WebRTC: Real-Time Communication in Browsers
# dom-rtctrackevent

Tương thích trình duyệt