Encrypted media extensions
encrypted`イベントは、初期化データがメディアから見つかり、暗号化されていることを示しているときに発行されます。
このイベントはキャンセル不可で、バブリングしません。
対応ブラウザ
| 機能 | デスクトップ | モバイル | ||||
|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Safari | Chrome Android | Safari iOS | |
| 42 | 13 | 38 | 12.1 | 42 | 12.2 | |
| encrypted`イベントは、初期化データがメディアから見つかり、暗号化されていることを示しているときに発行されます。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| HTMLMediaElement.mediaKeys プロパティは MediaKeys オブジェクトを返します。要素が再生中にメディアデータを復号するために使用することができる一連のキーです。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| setMediaKeys() は HTMLMediaElement インターフェイスのメソッドで、再生中にメディアの暗号を解除するために使用される MediaKeys を設定します。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| waitingforkey イベントは、メディア要素が次のデータをデコードするためにキーが必要であり、最初の再生が不可能になったときに発行され、再生が停止されます。 | 55 | 79 | 133 | 12.1 | 55 | 12.2 |
| 暗号化されたメディアのキーシステム構成を指定するオブジェクトです。 | 80 | 80 | 129 | | 80 | |
| MediaKeyMessageEventの読み取り専用のinitDataプロパティは、このイベントに含まれる初期化データがあれば、それを返す。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeyMessageEventの読み取り専用のinitDataTypeプロパティは、大文字と小文字を区別して、このイベントに関連付けられた初期化データのタイプを表す文字列を返す。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaEncryptedEventコンストラクタは、新しいMediaEncryptedEventオブジェクトを生成する。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| Encrypted Media Extensions API の MediaKeyMessageEvent インターフェイスには、コンテンツ復号化モジュールがセッションのメッセージを生成するときに、コンテンツと関連データが含まれます。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeyMessageEvent コンストラクターは、新しい MediaKeyMessageEvent オブジェクトを作成します。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeyMessageEvent.message 読み取り専用プロパティは、コンテンツ復号化モジュールからのメッセージを含む ArrayBuffer を返します。 メッセージはキー システムによって異なります。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeyMessageEvent.messageType 読み取り専用プロパティは、メッセージの種類を示します。 それは、ライセンス要求、ライセンス更新、ライセンス解放、または個別化要求のいずれかです。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| Encrypted Media Extensions API の MediaKeys インターフェイスは、関連付けられた HTMLMediaElement が再生中にメディア データの復号化に使用できるキーのセットを表します。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeys インターフェイスの createSession() メソッドは、コンテンツ復号化モジュール (CDM) とのメッセージ交換のコンテキストを表す新しい MediaKeySession オブジェクトを返します。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeys インターフェイスの getStatusForPolicy() メソッドは、指定されたポリシー要件に基づいて、コンテンツ復号化モジュール (CDM) がキーを使用した暗号化されたメディア データの表示を許可するかどうかを確認するために使用されます。 | 73 | 79 | 128 | | 73 | |
| MediaKeys インターフェイスの setServerCertificate() メソッドは、メッセージを暗号化するために使用されるサーバー証明書をライセンス サーバーに提供します。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| Encrypted Media Extensions API の MediaKeySession インターフェイスは、コンテンツ復号化モジュール (CDM) とのメッセージ交換のコンテキストを表します。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeySession インターフェイスの close() メソッドは、現在のメディア セッションが不要になったこと、およびコンテンツ復号化モジュールがこのオブジェクトに関連付けられたリソースを解放して閉じる必要があることを通知します。 次に、Promise を返します。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeySession インターフェイスの閉じられた読み取り専用プロパティは、MediaKeySession が閉じるときに Promise シグナルを返します。 この約束は果たせるだけであり、拒否されることはありません。 セッションを閉じるということは、セッションに関連付けられているライセンスとキーがメディア データの復号化に有効でなくなることを意味します。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeySession インターフェイスの有効期限読み取り専用プロパティは、現在のセッションのキーをメディア データの復号化に使用できなくなるまでの時間を返します。そのような時間が存在しない場合は NaN を返します。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeySession インターフェイスのgenerateRequest() メソッドは、初期化データに基づいてライセンス要求を生成した後、Promise を返します。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeySession インターフェイスの keyStatuses 読み取り専用プロパティは、現在のセッションのキーとそのステータスの読み取り専用 MediaKeyStatusMap への参照を返します。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeySession API の keystatuseschange イベントは、セッション内でキーまたはそのステータスに変更があったときに発生します。 | 55 | 79 | 52 | 12.1 | 55 | 12.2 |
| MediaKeySession インターフェイスのload() メソッドは、指定されたセッション オブジェクトのデータをロードした後、ブール値に解決される Promise を返します。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeySession インターフェイスのメッセージ イベントは、コンテンツ復号化モジュールによってメッセージが生成されるときに発生します。 | 55 | 79 | 52 | 12.1 | 55 | 12.2 |
| MediaKeySession インターフェイスのremove() メソッドは、現在のオブジェクトに関連付けられたセッション データを削除した後、Promise を返します。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeySession インターフェイスの sessionId 読み取り専用プロパティには、現在のメディア オブジェクトとそれに関連付けられたキーまたはライセンスに対してコンテンツ復号化モジュール (CDM) によって生成された一意の文字列が含まれています。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeySession インターフェイスの update() メソッドは、メッセージとライセンスを CDM にロードし、Promise を返します。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| Encrypted Media Extensions API の MediaKeyStatusMap インターフェイスは、キー ID ごとのメディア キー ステータスの読み取り専用マップです。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
@@iterator [シンボル.イテレータ] | 42 | 16 | 45 | 12.1 | 42 | 12.2 |
| MediaKeyStatusMapインタフェースのentries()メソッドは、ステータス マップ内の各要素に対す る、挿入順で、[key, value]ペアの配列を含む新しいIteratorオブジェクトを返します。 | 42 | 16 | 38 | 12.1 | 42 | 12.2 |
| MediaKeyStatusMapインタフェースのforEach()メソッドは、ステータス・マップ内の各キーと値のペアに対して、挿入順にコールバックを1回呼び出す。引数がある場合は、それがコールバックに渡される。 | 42 | 13 | 47 | 12.1 | 42 | 12.2 |
| MediaKeyStatusMap インターフェイスの get() メソッドは、指定されたキーに関連付けられたステータス値を返します。ステータス値がない場合は、未定義を返します。 | 42 | 13 | 45 | 12.1 | 42 | 12.2 |
| MediaKeyStatusMap インターフェイスの has() メソッドは、値が指定されたキーに関連付けられているかどうかをアサートするブール値を返します。 | 42 | 13 | 45 | 12.1 | 42 | 12.2 |
| MediaKeyStatusMapインタフェースのkeys()メソッドは、ステータス・マップの各要素のキーを含む新しいイテレータ・オブジェクトを挿入順に返す。 | 42 | 16 | 38 | 12.1 | 42 | 12.2 |
| MediaKeyStatusMap インターフェイスの size 読み取り専用プロパティは、ステータス マップ内のキーと値のペアの数を返します。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeyStatusMapインタフェースのvalues()メソッドは、ステータス・マップの各要素の値を 挿入順に含む新しいIteratorオブジェクトを返します。 | 42 | 16 | 38 | 12.1 | 42 | 12.2 |
| Encrypted Media Extensions API の MediaKeySystemAccess インターフェイスは、復号化のためのキー システムやコンテンツ保護プロバイダーへのアクセスを提供します。 Navigator.requestMediaKeySystemAccess メソッドを使用して、このオブジェクトのインスタンスをリクエストできます。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeySystemAccess.createMediaKeys() メソッドは、新しい MediaKeys オブジェクトに解決される Promise を返します。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| MediaKeySystemAccess インターフェイスの getConfiguration() メソッドは、次の構成オプションのサポートされている組み合わせを含むオブジェクトを返します。 | 42 | 13 | 43 | 12.1 | 42 | 12.2 |
| MediaKeySystemAccess インターフェイスの keySystem 読み取り専用プロパティは、使用されているキー システムを識別する文字列を返します。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| Navigator インターフェイスの requestMediaKeySystemAccess() メソッドは、特定のメディア キー システムへのアクセスに使用できる MediaKeySystemAccess オブジェクトを渡す Promise を返します。このオブジェクトは、メディア ストリームを復号化するためのキーの作成に使用できます。 | 42 | 13 | 38 | 12.1 | 42 | 12.2 |
| その他 | ||||||
html.elements.iframe.allow.encrypted-media | 64 | 79 | 74 | | 64 | |
| HTTP の Permissions-Policy ヘッダーにおける encrypted-media ディレクティブは、現在の文書が Encrypted Media Extensions API (EME) を使用することを許可するかどうかを制御します。 | 88 | 88 | | | 88 | |
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (133)
- onwaitingforkey`イベントハンドラプロパティはサポートされていません。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (55)
- onkeystatuseschange`イベントハンドラプロパティはサポートされていません。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (55)
- onkeystatuseschange`イベントハンドラプロパティはサポートされていません。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (55)
- onmessage`イベントハンドラプロパティはサポートされていません。
- このブラウザでは部分的にしか実装されていません
- このバージョンで機能が削除されました (55)
- onmessage`イベントハンドラプロパティはサポートされていません。
- Firefox 50 より前のバージョンでは、返されるオブジェクトには `distinctiveIdentifier` プロパティも `persistentState` プロパティもありません。
- この仕様では、渡された `supportedConfigurations` オプションが `audioCapabilities` または `videoCapabilities` の少なくとも1つを含み、そのパラメータがコーデック文字列を含むことを要求している。
- この関数は安全でないコンテキストには存在しません。これは Chrome 58 までは強制されていませんでした。
- Firefox 55 から、`supportedConfigurations` に `audioCapabilities` と `videoCapabilities` のどちらも指定されていない場合、Web コンソールに警告が出力されるようになった。
- 将来的には、`supportedConfigurations` に `audioCapabilities` と `videoCapabilities` のどちらも指定されていない場合は、`NotSupported` 例外がスローされるようになる。
- また、Firefox 55 以降では、`supportedConfigurations` の `audioCapabilities` または `videoCapabilities` の `contentType` 値に、メディアラッパー内で許可されるコーデックを定義するための `"codecs"` 部分文字列が指定されていない場合、Web コンソールに警告が出力されます。例と修正については、表の下のメモを参照してください。
- この仕様では、渡された `supportedConfigurations` オプションが `audioCapabilities` または `videoCapabilities` の少なくとも1つを含み、そのパラメータがコーデック文字列を含むことを要求している。
- この関数は安全でないコンテキストには存在しません。これはChrome Android 58まで強制されなかった。
基本構文
const config = [{
initDataTypes: ['cenc'],
videoCapabilities: [{ contentType: 'video/mp4; codecs="avc1.42E01E"' }]
}];
const access = await navigator.requestMediaKeySystemAccess('com.widevine.alpha', config);
const keys = await access.createMediaKeys(); 実務での使いどころ
-
Encrypted media extensions の活用
encrypted`イベントは、初期化データがメディアから見つかり、暗号化されていることを示しているときに発行されます。
注意点
- 古いブラウザでは対応していない場合がある。
アクセシビリティ
- スクリーンリーダーでの読み上げを確認すること。