MediaStreamTrack

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2017.

* Some parts of this feature may have varying levels of support.

Giao diện MediaStreamTrack của Media Capture and Streams API đại diện cho một track phương tiện duy nhất trong một luồng; thông thường, đây là các track âm thanh hoặc video, nhưng các loại track khác cũng có thể tồn tại.

Một số tác nhân người dùng phân lớp giao diện này để cung cấp thông tin hoặc chức năng chính xác hơn, chẳng hạn như CanvasCaptureMediaStreamTrack.

EventTarget MediaStreamTrack

Thuộc tính instance

Ngoài các thuộc tính được liệt kê bên dưới, MediaStreamTrack có các thuộc tính có thể ràng buộc có thể được đặt bằng applyConstraints() và truy cập bằng getConstraints()getSettings(). Xem Khả năng, ràng buộc và cài đặt để tìm hiểu cách làm việc chính xác với các thuộc tính có thể ràng buộc. Không làm như vậy một cách chính xác sẽ khiến mã của bạn trở nên không đáng tin cậy.

MediaStreamTrack.contentHint

Một chuỗi mà ứng dụng web có thể sử dụng để cung cấp gợi ý về loại nội dung mà track chứa nhằm hướng dẫn cách xử lý bởi các API tiêu thụ. Các giá trị cho phép phụ thuộc vào giá trị của thuộc tính MediaStreamTrack.kind.

MediaStreamTrack.enabled

Một giá trị Boolean có giá trị true nếu track được bật, tức là được phép hiển thị luồng nguồn phương tiện; hoặc false nếu nó bị tắt, tức là không hiển thị luồng nguồn phương tiện nhưng là im lặng và màu đen. Nếu track đã bị ngắt kết nối, giá trị này có thể được thay đổi nhưng không còn hiệu lực.

Note: Bạn có thể triển khai chức năng "tắt tiếng" tiêu chuẩn bằng cách đặt enabled thành false. Thuộc tính muted đề cập đến tình trạng không có phương tiện do sự cố kỹ thuật.

MediaStreamTrack.id Read only

Trả về một chuỗi chứa một định danh duy nhất (GUID) cho track; nó được tạo bởi trình duyệt.

MediaStreamTrack.kind Read only

Trả về một chuỗi được đặt thành "audio" nếu track là track âm thanh và "video" nếu nó là track video. Nó không thay đổi nếu track bị ngắt kết nối khỏi nguồn.

MediaStreamTrack.label Read only

Trả về một chuỗi chứa nhãn do tác nhân người dùng gán để xác định nguồn track, ví dụ như "internal microphone". Chuỗi có thể bị bỏ trống và trống miễn là chưa có nguồn nào được kết nối. Khi track bị ngắt kết nối khỏi nguồn, nhãn không bị thay đổi.

MediaStreamTrack.muted Read only

Trả về một giá trị Boolean cho biết liệu track có không thể cung cấp dữ liệu phương tiện do sự cố kỹ thuật hay không.

Note: Bạn có thể triển khai chức năng "tắt tiếng" tiêu chuẩn bằng cách đặt enabled thành false, và bật tiếng lại phương tiện bằng cách đặt nó về true.

MediaStreamTrack.readyState Read only

Trả về một chuỗi được liệt kê cho biết trạng thái của track. Giá trị sẽ là một trong các giá trị sau:

  • "live" cho biết một đầu vào đã được kết nối và nỗ lực hết mức để cung cấp dữ liệu thời gian thực. Trong trường hợp đó, đầu ra dữ liệu có thể được bật hoặc tắt bằng thuộc tính enabled.
  • "ended" cho biết đầu vào không còn cung cấp thêm dữ liệu và sẽ không bao giờ cung cấp dữ liệu mới.

Phương thức instance

MediaStreamTrack.applyConstraints()

Cho phép ứng dụng chỉ định các giá trị lý tưởng và/hoặc phạm vi giá trị chấp nhận được cho bất kỳ số lượng thuộc tính có thể ràng buộc nào của MediaStreamTrack.

MediaStreamTrack.clone()

Trả về một bản sao của MediaStreamTrack.

MediaStreamTrack.getCapabilities()

Trả về một đối tượng mô tả các giá trị được chấp nhận hoặc phạm vi giá trị cho mỗi thuộc tính có thể ràng buộc của MediaStreamTrack được liên kết.

MediaStreamTrack.getConstraints()

Trả về một đối tượng MediaTrackConstraints chứa các ràng buộc hiện được đặt cho track; giá trị trả về khớp với các ràng buộc được đặt lần cuối bằng applyConstraints().

MediaStreamTrack.getSettings()

Trả về một đối tượng MediaTrackSettings chứa các giá trị hiện tại của mỗi thuộc tính có thể ràng buộc của MediaStreamTrack.

MediaStreamTrack.stop()

Dừng phát nguồn được liên kết với track, cả nguồn và track đều bị ngắt kết nối. Trạng thái track được đặt thành ended.

Sự kiện

Lắng nghe các sự kiện này bằng addEventListener() hoặc bằng cách gán một trình xử lý sự kiện cho thuộc tính oneventname của giao diện này:

ended

Được gửi khi việc phát lại track kết thúc (khi giá trị readyState thay đổi thành ended), trừ khi track bị kết thúc bằng cách gọi MediaStreamTrack.stop.

mute

Được gửi đến MediaStreamTrack khi giá trị của thuộc tính muted được thay đổi thành true, cho biết rằng track tạm thời không thể cung cấp dữ liệu (chẳng hạn như khi mạng gặp sự cố dịch vụ).

unmute

Được gửi đến track khi dữ liệu trở lại khả dụng, kết thúc trạng thái muted.

Đặc tả kỹ thuật

Specification
Media Capture and Streams
# mediastreamtrack

Hỗ trợ trình duyệt

Xem thêm