Flash Player の更新による Flash Access のサポート

Flash Player 10.1 以降

Flash Player で Flash Access をサポートするには、Flash Access モジュールが必要です。保護されたコンテンツを Flash Player が再生しようとすると、ランタイムは、Flash Player のモジュールまたは新しいバージョンをダウンロードする必要があるかどうかを示します。Flash Player では、この方法により、必要に応じて更新しないオプションが SWF 開発者に提供されます。

ほとんどの場合、保護されたコンテンツを再生するために、SWF 開発者は必要な Flash Access モジュールまたはプレーヤーを更新します。更新するには、SystemUpdater API を使用して、最新バージョンの Flash Access モジュールまたは Flash Player を取得できます。

SystemUpdater API では、一度に 1 回の更新のみが許可されます。エラーコード 2201 は、現在のランタイムインスタンスまたは別のインスタンスで、更新が既に発生していることを示します。例えば、Internet Explorer において Flash Player のインスタンスで更新が発生している場合、Firefox で実行されている Flash Player のインスタンスでは、更新を継続することはできません。

SystemUpdater API は、デスクトッププラットフォームのみに対してサポートされています。

注意: 10.1 以前のバージョンの Flash Player では、以前のバージョンのプレーヤーでサポートされている更新メカニズム(手動のダウンロードおよび www.adobe.com からのインストールまたは Express Install)を使用します。また、AIR インストーラーは Flash Access に必要な更新を処理しますが、SystemUpdater API をサポートしていません。

更新イベントの監視

Flash Access モジュールの更新が必要な場合、NetStream オブジェクトはコード値 DRM.UpdateNeeded と共に NetStatisEvent を送出します。この値は、NetStream オブジェクトは現在インストールされているいずれの Flash Access モジュールを使用しても、保護されたストリームを再生できないことを示します。このイベントを監視して、次のコードを呼び出します。

SystemUpdater.update(flash.system.SystemUpdaterType.DRM)
このコードは、プレーヤーにインストールされている Flash Access モジュールを更新します。このモジュールに対するユーザーの同意は必要ありません。

Flash Access モジュールが見つからない場合は、エラーがスローされます。詳細な API ワークフローの手順 3 を参照してください。

注意: 10.1 以前のプレーヤーで、暗号化されたストリームで play() が呼び出された場合、コード値 NetStream.Play.StreamNotFound と共に NetStatusEvent が送出されます。以前のプレーヤーでは、そのプレーヤーでサポートされている更新メカニズム(手動のダウンロードおよび www.adobe.com からのインストールまたは Express Install)を使用します。

プレーヤーそのものの更新が必要な場合、SystemUpdater オブジェクトはコード値 DRM.UpdateNeededButIncompatible と共に StatusEvent を送出します。プレーヤーの更新には、ユーザーの同意が必要です。アプリケーションで、ユーザーが同意し、プレーヤーの更新を開始するためのインターフェイスを提供します。StatusEvent イベントを監視し、次のコードを呼び出します。

SystemUpdater.update(flash.system.SystemUpdaterType.SYSTEM);
このコードは、プレーヤーの更新を開始します。

SystemUpdater クラスの追加のイベントは、『Adobe Flash Platform 用 ActionScript 3.0 リファレンスガイド』に記載されています。

プレーヤーの更新が完了すると、ユーザーは、更新を開始したページにリダイレクトされます。Flash Access モジュールがダウンロードされ、ストリームは再生を開始できます。