MediaKeys.getStatusForPolicy()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.
Phương thức getStatusForPolicy() của giao diện MediaKeys được sử dụng để kiểm tra xem hệ thống CDM (Content Decryption Module) có cho phép trình chiếu dữ liệu được mã hóa bằng cách sử dụng các key tạo ra bởi hệ thống CDM hay không, dựa trên chính sách được chỉ định.
Phương thức trả về Promise thực hiện với chuỗi cho biết xem CDM có cho phép trình chiếu không. Giá trị có cùng ý nghĩa như các giá trị trong MediaKeyStatus của MediaKeySession.
Phương thức này cho phép các ứng dụng xác định trước khi bắt đầu phát liệu có đủ điều kiện tái tạo nội dung hay không dựa trên các chính sách (ví dụ yêu cầu HDCP), mà không cần tạo phiên key hay chờ sự kiện "encrypted".
Cú pháp
getStatusForPolicy(policy)
Tham số
policy-
Đối tượng với các thuộc tính sau:
minHdcpVersionOptional-
Chuỗi chỉ định phiên bản HDCP tối thiểu cần thiết. Ví dụ:
"1.0","1.4","2.0","2.2".
Giá trị trả về
Promise thực hiện với chuỗi liệt kê trạng thái của key được liên quan đến chính sách.
Giá trị có thể là một trong các giá trị sau:
usable-
Key hiện đang có thể sử dụng để giải mã.
expired-
Key không còn có thể sử dụng để giải mã vì thời gian hết hạn đã qua.
released-
Key đã được giải phóng và dữ liệu không còn sẵn sàng với hệ thống CDM.
output-restricted-
Có hạn chế đầu ra liên quan đến key dựa trên chính sách được chỉ định. Phương tiện có thể không thể phát.
output-downscaled-
Có hạn chế đầu ra liên quan đến key, nhưng những hạn chế này có thể được đáp ứng bằng cách phát lại nội dung ở độ phân giải thấp hơn.
usable-in-future-
Key sẽ có thể sử dụng trong tương lai khi tất cả yêu cầu chính sách đã được thỏa mãn.
status-pending-
Trạng thái của key không được biết và đang được xác định.
internal-error-
Key không thể sử dụng do lỗi và hệ thống CDM không thể thực hiện thêm hành động nào.
Ví dụ
>Kiểm tra tính khả dụng của HDCP 2.2
Ví dụ này sử dụng getStatusForPolicy() để kiểm tra xem CDM có thể chiếu nội dung nếu HDCP 2.2 được yêu cầu hay không.
const config = [
{
videoCapabilities: [
{
contentType: 'video/mp4; codecs="avc1.640028"',
encryptionScheme: "cenc",
robustness: "SW_SECURE_DECODE",
},
],
},
];
navigator
.requestMediaKeySystemAccess("com.widevine.alpha", config)
.then((mediaKeySystemAccess) => mediaKeySystemAccess.createMediaKeys())
.then((mediaKeys) =>
mediaKeys.getStatusForPolicy({
minHdcpVersion: "2.2",
}),
)
.then((status) => {
if (status !== "usable") {
console.error("HDCP 2.2 không khả dụng.");
return;
}
console.log("HDCP 2.2 khả dụng. Bắt đầu phát nội dung.");
})
.catch((err) => {
console.error(err);
});
Thông số kỹ thuật
| Specification |
|---|
| Encrypted Media Extensions> # dom-mediakeys-getstatusforpolicy> |