Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
MediaKeys
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since März 2019.
* Some parts of this feature may have varying levels of support.
Sicherer Kontext: Diese Funktion ist nur insicheren Kontexten (HTTPS) in einigen oder allenunterstützenden Browsern verfügbar.
DieMediaKeys-Schnittstelle derEncrypted Media Extensions API repräsentiert einen Satz von Schlüsseln, die ein zugeordnetesHTMLMediaElement zur Entschlüsselung von Mediendaten während der Wiedergabe verwenden kann.
In diesem Artikel
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, wiegetStatusForPolicy() 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 von2.2 erfordert.Weitere Informationen finden Sie in der Dokumentation zur MethodeMediaKeys: getStatusForPolicy().
HTML
<pre></pre>#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;}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
| Specification |
|---|
| Encrypted Media Extensions> # mediakeys-interface> |