MediaKeys - Web-APIs | MDN
Baseline
Weitgehend verfügbar
*
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit März 2019 browserübergreifend verfügbar.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Die MediaKeys-Schnittstelle der Encrypted Media Extensions API repräsentiert einen Satz von Schlüsseln, die ein zugeordnetes HTMLMediaElement zur Entschlüsselung von Mediendaten während der Wiedergabe verwenden kann.
Instanzeigenschaften
Keine.
Instanzmethoden
MediaKeys.createSession()-
Gibt ein neues
MediaKeySession-Objekt zurück, das einen Kontext für den Nachrichtenaustausch mit einem Content-Decryption-Modul (CDM) darstellt. MediaKeys.getStatusForPolicy()-
Gibt ein
Promisezurück, das zu einem Status-String auflöst, der anzeigt, ob das CDM die Präsentation von verschlüsselten Mediendaten mit den Schlüsseln unter Berücksichtigung der angegebenen Richtlinienanforderungen zulässt. MediaKeys.setServerCertificate()-
Gibt ein
Promiseauf ein Serverzertifikat zurück, das zur Verschlüsselung von Nachrichten an den Lizenzserver verwendet werden soll.
Beispiele
Überprüfen, ob Schlüssel mit HDCP-Einschränkung verwendbar sind
Dieses Beispiel zeigt, wie getStatusForPolicy() verwendet werden kann, um zu überprüfen, ob Schlüssel ein bestimmtes Videoformat in einer Konfiguration entschlüsseln können, die eine minimale HDCP-Version von 2.2 erfordert.
Weitere Informationen finden Sie in der Dokumentation zur Methode MediaKeys: getStatusForPolicy().
HTML
#log {
height: 100px;
overflow: scroll;
padding: 0.5rem;
border: 1px solid black;
}
JavaScript
const logElement = document.querySelector("#log");
function log(text) {
logElement.innerText = `${logElement.innerText}${text}\n`;
logElement.scrollTop = logElement.scrollHeight;
}
js
const config = [
{
videoCapabilities: [
{
contentType: 'video/mp4; codecs="avc1.640028"',
encryptionScheme: "cenc",
robustness: "SW_SECURE_DECODE", // Widevine L3
},
],
},
];
getMediaStatus(config);
async function getMediaStatus(config) {
try {
const mediaKeySystemAccess = await navigator.requestMediaKeySystemAccess(
"com.widevine.alpha",
config,
);
const mediaKeys = await mediaKeySystemAccess.createMediaKeys();
const mediaStatus = await mediaKeys.getStatusForPolicy({
minHdcpVersion: "2.2",
});
log(mediaStatus);
// Get the content or fallback to an alternative if the
// keys are not usable
if (mediaStatus === "usable") {
console.log("HDCP 2.2 can be enforced.");
// Fetch the high resolution protected content
} else {
log("HDCP 2.2 cannot be enforced");
// Fallback other content, get license, etc.
}
} catch (error) {
log(error);
}
}
Ergebnisse
Spezifikationen
| Spezifikation |
|---|
| Encrypted Media Extensions # mediakeys-interface |
Browser-Kompatibilität
Help improve MDN
Erfahren Sie, wie Sie beitragen können Diese Seite wurde automatisch aus dem Englischen übersetzt.