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() và 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
MediaCapabilitiescó 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. -
Một đối tượng
MediaCapabilitiescó 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.
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
- Phương thức canPlayType() của HTMLMediaElement
- Phương thức isTypeSupported() của MediaSource
- Sử dụng Media Capabilities API