Mise à jour de Flash Player pour assurer la prise en charge de Flash Access

Flash Player 10.1 et ultérieur

Flash Player doit disposer du module Flash Access pour prendre en charge ses fonctions. Lorsque Flash Player tente de lire un contenu protégé, le moteur d’exécution indique si le module ou une nouvelle version de Flash Player doit être téléchargé. Flash Player permet ainsi aux développeurs SWF de ne pas faire de mise à jour, le cas échéant.

En règle générale, pour lire du contenu protégé, les développeurs SWF mettent à jour le module ou le lecteur Flash Access requis. Pour effectuer la mise à jour, vous disposez de l’API SystemUpdater, qui permet d’obtenir la version la plus récente du module Flash Access ou de Flash Player.

L’API SystemUpdater n’autorise qu’une mise à jour à la fois. Le code d’erreur 2201 indique qu’une mise à jour est en cours d’exécution dans l’occurrence active du moteur d’exécution ou une autre occurrence. Ainsi, s’il se produit une mise à jour d’une occurrence de Flash Player dans Internet Explorer, il est impossible d’effectuer une mise à jour d’une occurrence de Flash Player dans Firefox.

Seules les plates-formes de bureau prennent en charge l’API SystemUpdater.

Remarque : pour les versions de Flash Player antérieures à 10.1, utilisez le mécanisme de mise à jour pris en charge par les versions antérieures du lecteur (téléchargement et installation manuels à partir du site www.adobe.com ou d’ExpressInstall). Le programme d’installation d’AIR gère par ailleurs les mises à jour requises de Flash Access, mais non l’API SystemUpdater.

Ecoute d’un événement de mise à jour

Lorsqu’une mise à jour du module Flash Access est nécessaire, l’objet NetStream distribue un événement NetStatusEvent dont la valeur de code correspond à DRM.UpdateNeeded. Cette valeur indique que l’objet NetStream ne peut pas lire le flux protégé par le biais de tout module Flash Access actuellement installé. Ecoutez cet événement et appelez le code suivant :

SystemUpdater.update(flash.system.SystemUpdaterType.DRM)
Ce code met à jour le module Flash Access installé dans le lecteur. L’accord de l’utilisateur pour cette mise à jour du module n’est pas obligatoire.

Si le module Flash Access est introuvable, une erreur est renvoyée. Voir l’étape 3 de Flux de travail détaillé des API.

Remarque : si play() est appelé sur un flux chiffré dans des lecteurs antérieurs à  10.1, un événement NetStatusEvent dont la valeur de code correspond à NetStream.Play.StreamNotFound est distribué. Pour les lecteurs antérieurs, faites appel au mécanisme de mise à jour pris en charge (téléchargement et installation manuels à partir du site www.adobe.com ou d’ExpressInstall).

S’il est nécessaire de mettre à jour le lecteur en tant que tel, l’objet SystemUpdater distribue un événement StatusEvent dont la valeur de code correspond à DRM.UpdateNeededButIncompatible. Pour mettre à jour le lecteur, l’accord de l’utilisateur est obligatoire. Intégrez à l’application une interface permettant à l’utilisateur d’accepter et de démarrer la mise à jour du lecteur. Ecoutez l’événement StatusEvent et appelez le code suivant :

SystemUpdater.update(flash.system.SystemUpdaterType.SYSTEM);
Ce code démarre la mise à jour du lecteur.

D’autres événements associés à la classe SystemUpdater sont passés en revue dans le manuel Guide de référence ActionScript 3.0 pour la plate-forme Adobe Flash.

Une fois la mise à jour du lecteur terminée, l’utilisateur est renvoyé à la page initiale. Le module Flash Access est téléchargé et la lecture du flux peut démarrer.