Media Capabilities API

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.

Note: This feature is available in Web Workers.

Media Capabilities API cho phép các nhà phát triển xác định khả năng giải mã và mã hóa của thiết bị, cung cấp thông tin như liệu media có được hỗ trợ hay không và liệu việc phát lại có mượt mà và tiết kiệm điện năng hay không.

Khái niệm

Có rất nhiều codec video và âm thanh. Các trình duyệt khác nhau hỗ trợ các loại media khác nhau và các loại media mới liên tục được phát triển. Với Media Capabilities API, các nhà phát triển có thể đảm bảo mỗi người dùng đạt được tốc độ bit và tiết kiệm dung lượng tốt nhất cho khả năng trình duyệt, thiết bị và hệ điều hành của họ.

Việc thiết bị sử dụng giải mã phần cứng hay phần mềm ảnh hưởng đến mức độ mượt mà và tiết kiệm điện năng khi giải mã video. Media Capabilities API cho phép các nhà phát triển xác định codec nào được hỗ trợ và tệp media sẽ hoạt động hiệu quả như thế nào về cả độ mượt mà lẫn tiêu thụ điện năng.

Media Capabilities API cung cấp các tính năng mạnh mẽ hơn so với các API khác như MediaRecorder.isTypeSupported() hay HTMLMediaElement.canPlayType(), vốn chỉ xử lý hỗ trợ chung của trình duyệt mà không tính đến hiệu suất.

Để kiểm tra hỗ trợ, độ mượt mà và tiết kiệm điện cho việc mã hóa và giải mã nội dung video hoặc âm thanh, hãy sử dụng các phương thức encodingInfo()decodingInfo() của giao diện MediaCapabilities.

Giao diện

MediaCapabilities

Cung cấp thông tin về khả năng giải mã của thiết bị, hệ thống và trình duyệt dựa trên codec, cấu hình, độ phân giải và tốc độ bit. Thông tin này có thể được dùng để cung cấp luồng media tối ưu cho người dùng và xác định liệu việc phát lại có mượt mà và tiết kiệm điện năng hay không.

Mở rộng sang các giao diện khác

Một đối tượng MediaCapabilities có thể cung cấp thông tin về khả năng giải mã và mã hóa cho một định dạng media và khả năng đầu ra nhất định.

WorkerNavigator.mediaCapabilities Read only

Một đối tượng MediaCapabilities có thể cung cấp thông tin về khả năng giải mã và mã hóa cho một định dạng media và khả năng đầu ra nhất định.

Ví dụ

Phát hiện hỗ trợ tệp âm thanh và hiệu suất dự kiến

Ví dụ này định nghĩa cấu hình âm thanh rồi kiểm tra xem tác nhân người dùng có hỗ trợ giải mã cấu hình media đó hay không, và liệu nó có hoạt động tốt về độ mượt mà và tiết kiệm điện năng hay không.

js
if ("mediaCapabilities" in navigator) {
  const audioFileConfiguration = {
    type: "file",
    audio: {
      contentType: "audio/mp3",
      channels: 2,
      bitrate: 132700,
      samplerate: 5200,
    },
  };

  navigator.mediaCapabilities
    .decodingInfo(audioFileConfiguration)
    .then((result) => {
      console.log(
        `This configuration is ${result.supported ? "" : "not "}supported,`,
      );
      console.log(`${result.smooth ? "" : "not "}smooth, and`);
      console.log(`${result.powerEfficient ? "" : "not "}power efficient.`);
    })
    .catch(() => {
      console.log(`decodingInfo error: ${contentType}`);
    });
}

Thông số kỹ thuật

Thông số kỹ thuật
Media Capabilities
# media-capabilities-interface

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

Xem thêm