Utilisation de la classe DRMErrorEvent

Flash Player 10.1 et les versions ultérieures, Adobe AIR 1.0 et les versions ultérieures

Adobe Flash Player et Adobe AIR distribuent un objet DRMErrorEvent lorsqu’un objet NetStream qui tente de lire un contenu protégé rencontre une erreur DRM. Si les informations d’identification ne sont pas valides dans une application AIR, l’objet DRMAuthenticateEvent distribue continuellement un objet jusqu’à ce que l’utilisateur entre des informations d’identification valides ou que l’application refuse toute autre tentative. L’application est chargée d’écouter tout autre événement d’erreur DRM pour détecter, identifier et gérer les erreurs DRM.

Même si les informations d’identification de l’utilisateur sont valides, il est possible que les conditions du voucher l’empêchent d’afficher un contenu chiffré. Par exemple, un utilisateur peut se voir refuser l’accès à un contenu s’il tente de lire ce contenu dans une application non autorisée. Une application non autorisée est une application que l’éditeur du contenu chiffré n’a pas validée. Dans ce cas, un objet DRMErrorEvent est distribué.

Des événements d’erreur peuvent également être déclenchés si le contenu est endommagé ou si la version de l’application ne correspond pas aux spécifications du voucher. L’application doit intégrer un mécanisme de gestion des erreurs approprié.

Propriétés DRMErrorEvent

Pour obtenir la liste complète des erreurs, voir Erreurs d’exécution dans le Guide de référence d’ActionScript 3.0 pour Flash Professional. Les erreurs DRM débutent au numéro 3300.

Création d’un gestionnaire DRMErrorEvent

L’exemple suivant crée un gestionnaire d’événement associé à l’objet NetStream à l’origine de l’événement. Il est appelé si l’objet NetStream rencontre une erreur lors d’une tentative de lecture de contenu protégé. En règle générale, lorsqu’une application détecte une erreur, elle procède à une série d’opérations de nettoyage. Elle informe ensuite l’utilisateur de l’erreur et lui fournit des solutions pour résoudre le problème.

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