DRMErrorEvent クラスの使用

Flash Player 10.1 以降、Adobe AIR 1.0 以降

保護されたコンテンツを NetStream オブジェクトが再生しようとしたときに DRM 関連のエラーが発生すると、Adobe Flash Player および Adobe AIR は DRMErrorEvent オブジェクトを送出します。AIR アプリケーションでユーザー資格情報が無効の場合、ユーザーが有効な資格情報を入力するか、アプリケーションがそれ以上の試行を拒否するまで、DRMAuthenticationEvent オブジェクトが繰り返し送出されます。アプリケーションは、その他の DRM エラーイベントを監視して、DRM 関連エラーを検出、識別、処理する必要があります。

ユーザーの資格情報が有効であっても、コンテンツの証明書の条件によっては、ユーザーが暗号化されたコンテンツを表示できないことがあります。例えば、許可されていないアプリケーションでコンテンツを表示しようとした際に、ユーザーはアクセスを拒否されます。許可されていないアプリケーションとは、暗号化されたコンテンツの発行者がまだ検証していないアプリケーションのことです。この場合、DRMErrorEvent オブジェクトが送出されます。

このエラーイベントは、コンテンツが破損している場合や、アプリケーションのバージョンが証明書が指定するバージョンと一致しない場合にも、発生させることができます。アプリケーションは、エラーを処理するための適切なメカニズムを提供する必要があります。

DRMErrorEvent プロパティ

エラーの完全な一覧については、『Adobe Flash Professional 用 ActionScript 3.0 リファレンスガイド』の ランタイムエラーコード を参照してください。DRM 関連エラーはエラー 3300 で始まります。

DRMErrorEvent ハンドラーの作成

次の例では、イベントの発生元となった NetStream オブジェクトに対するイベントハンドラーを作成します。これは、保護されたコンテンツを再生しようとしている間に NetStream でエラーが発生したときに呼び出されます。通常、エラーが発生した際には、アプリケーションはあらゆるクリーンアップタスクを実行します。その後、ユーザーにエラーを通知し、問題を解決するためのオプションを提示します。

private function drmErrorEventHandler(event:DRMErrorEvent):void  
{ 
    trace(event.toString()); 
}