Verwenden der DRMErrorEvent-Klasse

Flash Player 10.1 und höher, Adobe AIR 1.0 und höher

Adobe Flash Player und Adobe AIR lösen ein DRMErrorEvent-Objekt aus, wenn ein NetStream-Objekt beim Versuch, geschützten Inhalt wiederzugeben, einen DRM-Fehler erkennt. Wenn die Benutzerinformationen in einer AIR-Anwendung ungültig sind, wird das DRMAuthenticateEvent-Objekt wiederholt ausgelöst, bis der Benutzer gültige Informationen eingibt oder bis die Anwendung weitere Anmeldeversuche verweigert. Es ist Aufgabe der Anwendung, alle anderen DRM-Fehlerereignisse zu überwachen, um die DRM-bezogenen Fehler zu erkennen, zu identifizieren und zu verarbeiten.

Selbst bei gültigen Benutzerinformationen können die Bedingungen des Gutscheins verhindern, dass der Benutzer den verschlüsselten Inhalt anzeigen kann. Beispielsweise kann der Zugriff verweigert werden, wenn der Benutzer versucht, Inhalt in einer nicht autorisierten Anwendung anzuzeigen. Dies ist eine Anwendung, die vom Herausgeber der verschlüsselten Inhalte nicht validiert wurde. In diesem Fall wird ein DRMErrorEvent-Objekt ausgelöst.

Die Fehlerereignisse können auch ausgelöst werden, wenn die Inhalte beschädigt sind oder wenn die Version der Anwendung nicht mit der auf dem Gutschein angegebenen Version übereinstimmt. Die Anwendung muss einen entsprechenden Mechanismus für die Verarbeitung der Fehler bereitstellen.

DRMErrorEvent-Eigenschaften

Eine ausführliche Fehlerliste finden Sie im Abschnitt zu Laufzeit-Fehlercodes im ActionScript 3.0 Referenzhandbuch. Die DRM-Fehler beginnen bei Fehlercode 3300.

Erstellen von DRMErrorEvent-Prozeduren

Im folgenden Beispiel wird eine Ereignisprozedur für das NetStream-Objekt erstellt, welches das Ereignis ausgelöst hat. Es wird aufgerufen, wenn das NetStream-Objekt beim Versuch, geschützten Inhalt wiederzugeben, einen Fehler erkennt. Gewöhnlich führt eine Anwendung beim Auftreten eines Fehlers verschiedene Bereinigungsaufgaben durch. Dann teilt sie dem Benutzer den Fehler mit und bietet Optionen zur Fehlerbehebung an.

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