14 août 2012. Bienvenue dans Adobe® Flash Player® 11.3 et AIR® 3.3. Cette version inclut des correctifs liés à la stabilité générale, à l’audio et à la vidéo, ainsi qu’au développement d’applications iOS.
Cette version comprend les améliorations de sécurité telles qu’elles sont répertoriées dans le Bulletin de sécurité APSB12-18.
Pour utiliser la nouvelle version de Flash Player, vous devez cibler la version 16 du fichier SWF en transmettant un argument de compilateur supplémentaire au compilateur Flex : -swf-version=16. Suivez les instructions ci-dessous.
Si vous utilisez le kit SDK d’Adobe Flex :
- Téléchargez le nouveau fichier playerglobal.swc pour Flash Player 11.3.
- Téléchargez le kit SDK Flex 4.5.1 (4.5.1.21328) du tableau SDK Flex 4.5.
- Dans Flash Builder, créez un projet ActionScript : Fichier -> Nouveau -> Projet ActionScript.
- Ouvrez le panneau des propriétés (cliquez avec le bouton droit de la souris et sélectionnez ensuite « Propriétés »). Sélectionnez Compilateur ActionScript dans la liste de gauche.
- Utilisez l’option « Configurer le SDK de Flex » située dans le coin supérieur droit pour diriger le projet vers l’application Flex 21328. Cliquez sur OK.
- Configurez votre projet pour cibler la version 16 du SWF.
- Ajoutez à l’entrée « Arguments de compilateur supplémentaires » : -swf-version=16. Vous vous assurez ainsi que le fichier SWF cible la version 16 du SWF. Si vous compilez sur la ligne de commande et non dans Flash Builder, vous devez ajouter le même argument de compilateur.
- Assurez-vous d’avoir installé la nouvelle version de Flash Player 11.3 dans votre navigateur.
Mise à jour de l’espace de noms AIR 3.3
Vous devez mettre à jour le fichier descripteur d’application vers l’espace de noms 3.3 pour accéder aux nouvelles API et au nouveau comportement d’AIR 3.3. Si votre application n’a pas recours aux nouvelles API et au nouveau comportement d’AIR 3.3, il n’est pas nécessaire de mettre à jour l’espace de noms. Nous recommandons toutefois à tous les utilisateurs de commencer à utiliser l’espace de nom d’AIR 3.3 même s’ils ne profitent pas encore des nouvelles fonctionnalités de la version 3.3. Pour mettre à jour l’espace de noms, remplacez l’attribut xmlns dans le descripteur d’application par :
<application xmlns="http://ns.adobe.com/air/application/3.3">
Saisie clavier plein écran pour Flash Player
Pour activer le mode plein écran avec affichage de touches, un nouveau paramètre de balise /, allowFullScreenInteractive, doit être ajouté au code HTML conteneur. Ce paramètre est défini par défaut sur « false », c’est-à-dire que le mode plein écran avec affichage de touches n’est pas autorisé. Pour l’activer, définissez le paramètre allowFullScreenInteractive sur « true » dans votre balise, comme le montre l’exemple suivant :
<object classid=”"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,18,0" width="600" height="400" id="fullScreen" align="middle"> <param name=”allowFullScreenInteractive” value=”true” /> <param name=”movie” value=”fullScreenInteractive.swf” /> <embed src=”fullScreen.swf” allowFullScreen=”true” width=”600” height=”400” name=”fullScreen” align=”middle” type=”application/x-shockwave-flash” pluginspage=”http://get.adobe.com/flashplayer/” /> </object>
Cette fonction peut être désactivée dans le fichier mms.cfg en définissant FullScreenInteractiveDisable = 1, comme suit :
FullScreenInteractiveDisable=1
flash.display.Stage.getAllowsFullScreenInteractive(); flash.display.StageDisplayState flash.events.FullScreenEvent
Diffusion en continu de textures
La diffusion en continu de textures est une nouvelle fonction pour Stage3D qui permet de charger tout d’abord les textures plus volumineuses de moindre qualité, puis de les améliorer progressivement au fur et à mesure de la disponibilité des données.
function createCubeTexture( size:int, format:String, optimizeForRenderToTexture:Boolean, streamingLevels:int=0):CubeTexture function createTexture( width:int, height:int, format:String, optimizeForRenderToTexture:Boolean, streamingLevels:int=0 ):Texture;
Un paramètre facultatif, streamingLevels, a été ajouté aux fonctions createTexture et createCubeTexture. Si ce paramètre est défini sur une valeur autre que 0, la diffusion n’est pas activée pour cette texture. La valeur maximale est log2 (max (largeur, hauteur)) pour les textures 2D et log2 (taille) pour les textures de placage cubique. La création de texture échoue avec une valeur plus élevée et une erreur ActionScript est renvoyée. Les textures qui permettent la diffusion en continu ne peuvent pas être utilisées pour effectuer le rendu de textures et leur indicateur optimizeForRenderToTexture est ignoré.
Les textures activées pour la diffusion en continu peuvent présenter une pénalité d’utilisation de mémoire pouvant représenter 50 % de taille supplémentaire, ainsi qu’une possible pénalité de vitesse de chargement. Dès qu’une texture a été complètement chargée, elle ne peut plus être diffusée avec un contenu différent. Si une texture est marquée comme étant en diffusion continue, elle est considérée comme complète et prête pour le rendu si tous les niveaux MIP au-delà de la valeur streamingLevels (y compris celle-ci) sont téléchargés. Le téléchargement de texture reste inchangé.
Exemple :
[Embed( source = "MipLevel9.jpg" )] var MipLevel9:Class; var context3D:Context3D; var texture:Texture; stage.stage3Ds[0].addEventListener(Event.CONTEXT3D_CREATE, createdHandler); stage.stage3Ds[0].requestContext3D(Context3DRenderMode.AUTO); function createdHandler(e:Event) { context3D = stage.stage3Ds[0].context3D; //set streaming levels to 9, a 1x1 mip level for a complete texture size of 512 (Mip level 0 =512, Mip level 9 = 1) texture = context3D.createTexture(512,512,Context3DTextureFormat.BGRA,false, 9); var mip9:Bitmap = new MipLevel9(); texture.uploadFromBitmapData(mip9.bitmapData,9); }
BitmapData.drawWithQuality
Auparavant, il aurait été nécessaire de modifier la qualité de la scène pour modifier la qualité de BitmapData.draw. BitmapData. drawWithQuality est une extension de BitmapData.draw qui ajoute un paramètre facultatif en vue de spécifier la qualité du rendu vectoriel.
function drawWithQuality(source: IBitmapDrawable, matrix:Matrix=null, colorTransform: ColorTransform =null, blendMode:String=null, clipRect:Rectangle=null, smoothing:Boolean=false, quality:String=null): void
Voici la liste des valeurs de qualité prises en charge :
- StageQuality.LOW
- StageQuality.MEDIUM
- StageQuality.BEST
- StageQuality.HIGH_8X8_LINEAR
- StageQuality.HIGH_16X16
- StageQuality.HIGH_16X16_LINEAR
BitmapData.encode
BitmapData.encode permet la compression native d’un objet BitmapData au format PNG, JPEG et JPEG XR. Cela permet aux développeurs d’atteindre le débit natif pour la compression des images du moteur d’exécution, fonction très utile sur les appareils mobiles.
function encode(rect:Rectangle,EncoderOptions :Object, byteArray: ByteArray = null): ByteArray;
// compress bitmap data as a JPEG file var bitmapData:BitmapData = new BitmapData(640,480,false,0x00FF00); var byteArray:ByteArray = new ByteArray(); bitmapData.encode(new Rectangle(0,0,640,480), new JPEGCompressOptions(), byteArray); // Display the bitmap we just encoded var loader:Loader = new Loader(); loader.loadBytes(byteArray); addChild(loader);
Chaîne d’échec du matériel dans Context3D.driverinfo
Cette fonction affiche des informations dans Context3D.driverInfo lorsque le contenu Stage3D ne peut pas faire l’objet d’une accélération matérielle. Context3D.driverInfo inclut l’une des chaînes suivantes pour expliquer la raison pour laquelle Stage3D effectue un retour au moteur logiciel.
- Software Hw_disabled=userDisabled
La case à cocher de configuration de l’accélération matérielle située dans l’interface des paramètres est désactivée et le rendu du contenu Stage3D est effectué par logiciel.
- Software Hw_disabled=oldDriver
Le pilote graphique matériel est placé sur liste noire en raison d’un problème connu et le rendu du contenu Stage3D est effectué par logiciel. La mise à jour du pilote permettra de résoudre ce problème.
- Software Hw_disabled=unavailable
Impossible d’utiliser le rendu matériel en raison des capacités du pilote, d’un placement sur liste noire ou d’un échec d’initialisation du pilote graphique matériel ; le rendu du contenu Stage3D est effectué par logiciel.
- Software Hw_disabled=explicit
Le contenu demande explicitement un rendu logiciel via requestContext3D et le rendu du contenu Stage3D est effectué par logiciel.
Améliorations au niveau du format
AIR 3.3 corrige le problème en raison duquel le moteur d’exécution ignorait le format spécifié. L’orientation de la scène est limitée à seulement deux orientations avec la rotation de l’appareil, au cas où la balise aspectRatio est définie et où la propriété autoOrients est définie sur « true » (en fonction de la valeur de « aspect-ratio », soit les orientations « landscape-left » et « landscape-right », soit les orientations « portrait » et « portrait-upside-down » doivent être prises en charge).
Une nouvelle constante StageAspectRatio nommée ANY a été ajoutée. La constante StageAspectRatio.ANY peut être utilisée pour obtenir une orientation de scène automatique dans toutes les orientations d’appareil lorsque la propriété autoOrients est définie sur « true ». Il s’agit du comportement par défaut lorsque la balise aspectRatio ne figure pas dans le descripteur d’application.
Débogage USB pour AIR iOS
Mettez d’abord l’application en package avec un commutateur -listen supplémentaire, de sorte que l’application écoute une connexion fdb au démarrage.
adt -package -target (ipa-debug-interpreter | ipa-debug) -listen (port number optional) -provisioning-profile xyz.mobileprovision -storetype pkcs12 -keystore Certificates.p12 -storepass pass123 OutputFile.ipa InputFile-app.xml InputFile.swf
Par défaut, l’application écoute sur le port 7936. Vous pouvez spécifier le port de votre choix.
adt -package -target (ipa-debug-interpreter | ipa-debug) -listen 16000 xyz.mobileprovision -storetype pkcs12 -keystore Certificates.p12 -storepass pass123 OutputFile.ipa InputFile-app.xml InputFile.swf
2) Une fois l’application mise en package au format IPA, installez-la et lancez-la sur l’appareil.
3) Exécutez le binaire IDB disponible à l’emplacement SDK_LOCATION/lib/aot/idb avec -devices comme paramètre. Il renvoie la liste des périphériques connectés à l’ordinateur de bureau avec leurs DEVICE_HANDLES.
idb -devices
4) Désormais, un port de l’ordinateur de bureau doit être réacheminé vers le port du périphérique qui écoute la connexion.
idb -forward LOCAL_PORT REMOTE_PORT DEVICE_HANDLE
Ce LOCAL_PORT fait référence au port sur votre ordinateur de bureau. Il peut s’agir du numéro de port de votre choix, de préférence supérieur à 8000.
Le REMORT_PORT est le numéro de port que vous avez indiqué dans la commande de mise en package. Si vous n’avez indiqué aucun numéro de port lors de la mise en package, l’application écoute, par défaut, sur le port 7936.
Le DEVICE_HANDLE de votre périphérique est celui qui a été obtenu à l’étape 3.
5) Lancez maintenant fdb à l’aide de la commande suivante.
fdb -p LOCAL_PORT
6) Cela aura pour effet de démarrer le débogueur fdb. Entrez « r » dans la ligne de commande pour lancer la session de débogage.
P.S. : IDB offre un autre paramètre appelé « stopforward », qui peut être utilisé pour arrêter le réacheminement de port. Notez cependant que cela fonctionne uniquement tant que la session fdb n’a pas été établie.
idb -stopforward LOCAL_PORT
Actuellement, cette fonctionnalité n’est pas prise en charge sur Flash Builder.
Amélioration du comportement en arrière-plan pour AIR iOS
Désormais, la prise en charge du traitement en arrière-plan ressemble davantage à celle des applications natives dans iOS. Outre une prise en charge de base du multitâche et de l’audio en arrière-plan, déjà active avec AIR for iOS, les applications peuvent désormais prendre en charge la mise en réseau et les mises à jour de la position en arrière-plan, et recevoir une notification lorsque le système d’exploitation est sur le point de suspendre une application en arrière-plan.
Quelques balises et un événement ont été ajoutés à cette fin. Pour prendre en charge les mises à jour de la position en arrière-plan, insérez ce qui suit dans la balise iPhone, dans le descripteur de l’application AIR :
<iPhone> <InfoAdditions> <![CDATA[ <key>UIBackgroundModes</key> <array> <string>location</string> </array> ]]> </InfoAdditions> </iPhone>
Si votre application définit cette balise et passe à l’arrière-plan, le lecteur continue de s’exécuter à 4 i/s. Toutefois, toutes les mises à jour d’écran (appels de rendu, appels OpenGL) seront désactivées.
La clé UIBackgroundModes assure la prise en charge simultanée de la position et de l’audio, si votre application doit générer du son et assurer en même temps le suivi de la position (pour une application de navigation, par exemple).
iOS fournit un mécanisme permettant d’exécuter des tâches en arrière-plan de courte durée. Cependant, iOS ne garantit pas que la tâche sera exécutée, mais simplement qu’elle continuera de fonctionner un peu plus longtemps pour le compte de l’utilisateur. La durée pendant laquelle ces tâches en arrière-plan peuvent poursuivre l’exécution de l’application peut être limitée(elle est d’environ 10 minutes)
Si l’auteur de l’application définit la propriété executeInBackground sur TRUE/FALSE, cette valeur est sélectionnée et l’application se comporte en conséquence. Actuellement, lorsque l’application passe en arrière-plan, l’événement Désactiver est déclenché et ce, qu’elle ait déjà été suspendue ou non. Pour fournir des informations plus spécifique à l’application, l’événement Suspendre lui est envoyé lorsqu’elle est sur le point d’être suspendue, ce qui garantit un comportement approprié.
Sous iOS, afin de prolonger l’autonomie de la batterie, la vitesse de lecture est réduite (à 4 i/s) lorsque l’application choisit de s’exécuter en arrière-plan.
Prise en charge du simulateur
L’architecture du simulateur sous iOS étant de type x86, deux nouvelles cibles ont été ajoutées pour celui-ci. Notez que la mise en package pour le simulateur est prise en charge uniquement en mode d’interpréteur.
Les cibles sont les suivantes :
1.) ipa-test-interpreter-simulator
2.) ipa-debug-interpreter-simulator
Pour commencer à tester votre application sur le simulateur, il n’est pas nécessaire d’obtenir un certificat de développement d’Apple (ce processus prend un certain temps), ni de créer des profils de configuration avant de commencer à développer une application AIR. (Un certificat p12, que l’utilisateur peut lui-même créer, s’avère suffisant.)
Pour mettre en package l’application pour le simulateur, exécutez les commandes suivantes.
Cible Interpréteur
adt -package -target ipa-test-interpreter-simulator -storetype pkcs12 -keystore Certificates.p12 -storepass password Sample_ipa_name sample_ipa-app.xml sample_ipa.swf
Cible Débogueur
adt -package -target ipa-debug-interpreter-simulator -storetype pkcs12 -keystore Certificates.p12 -storepass password Sample_ipa_name sample_ipa-app.xml sample_ipa.swf
* Pour installer l’application dans le simulateur *
adt -installApp -platform ios -platformsdk (path to sdk like /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk) -device ios-simulator -package Sample_ipa_name.ipa
* Pour lancer l’application dans le simulateur *
adt -launchApp -platform ios -platformsdk (path to sdk like /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk) -device ios-simulator -appid
Sample_ipa_name
Pour tester une extension native sur le simulateur, la prise en charge d’un nouveau nom de plate-forme (iPhone-x86) a été ajoutée dans le fichier extension.xml.
Notez que toutes les commandes de l’extension native de mise en package restent les mêmes. Cependant, le fichier library.a requis depuis Xcode doit être compilé pour le simulateur uniquement.
Le fichier extension.xml doit se présenter comme suit :
<extension xmlns="http://ns.adobe.com/air/extension/3.1"> <id>com.cnative.extensions</id> <versionNumber>1</versionNumber> <platforms> <platform name="iPhone-x86"> <applicationDeployment> <nativeLibrary>library.a</nativeLibrary> <initializer>TestNativeExtensionsInitializer </initializer> <finalizer>TestNativeExtensionsFinalizer </finalizer> </applicationDeployment> </platform> </platforms> </extension>
Pour obtenir de plus amples informations sur la configuration requise de Flash Player, consultez le site suivant : http://www.adobe.com/fr/products/flashplayer/systemreqs/
Pour obtenir de plus amples informations sur la configuration requise d’AIR, consultez le site suivant : http://www.adobe.com/fr/products/air/systemreqs/
Pour obtenir de plus amples informations sur la configuration requise de Flash Access (client et server), consultez le site suivant : http://www.adobe.com/fr/products/flashaccess/systemreqs/
La configuration minimale requise pour Flash Player 11.3 est la suivante :
|
Windows® |
Macintosh |
Processeur |
Processeur compatible x86 de 2,33 GHz ou plus rapide, ou processeur Intel® Atom™ de 1,6 GHz ou plus rapide pour les périphériques de type miniportable |
Processeur Intel® Core™ Duo 1,83 GHz ou plus rapide |
Système d’exploitation |
Microsoft® Windows® XP (32 bits), Windows Server® 2003 (32 bits), Windows Server® 2008 (32 bits), Windows Vista® (32 bits) ou Windows 7® (32 et 64 bits) |
Mac OS® X 10.6 et Mac OS X 10.7 |
Navigateur |
Internet Explorer version 7.0 ou ultérieure, Mozilla Firefox version 4.0 ou ultérieure, Google Chrome, Safari version 5.0 ou ultérieure, Opera 11 |
Safari version 5.0 ou ultérieure, Mozilla Firefox version 4.0 ou ultérieure, Google Chrome, Opera 11 |
Mémoire |
128 Mo de mémoire RAM (1 Go de mémoire RAM recommandé pour les périphériques de type miniportable), 128 Mo de mémoire graphique |
256 Mo de RAM, 128 Mo de mémoire graphique |
|
Windows® |
Macintosh |
AndroidTM |
iOS |
Processeur/matériel de périphérique |
Processeur compatible x86 de 2,33 GHz ou plus rapide, ou processeur Intel Atom™ de 1,6 GHz ou plus rapide pour les périphériques de type miniportable |
Processeur Intel® Core™ Duo 1,83 GHz ou plus rapide |
Processeur ARMv7 avec Vector FPU, Minimum 550 MHz, OpenGL ES2.0, décodeurs H.264 et AAC H/W |
iPod touch (3e génération) modèles 32 Go et 64 Go, iPod touch 3GS, iPhone 4, iPhone 4, iPad, iPad 2 |
Système d’exploitation |
Microsoft® Windows® XP, Windows Server® 2003, Windows Server® 2008, Windows Vista® Edition Familiale Premium, Professionnel, Edition Intégrale ou Entreprise (y compris les versions 64 bits) avec Service Pack 2, ou Windows 7 |
Mac OS® X 10.6 et 10.7 |
AndroidTM 2.2, 2.3, 3.0, 3.1, 3.2 et 4.0 |
iOS 4.2 et versions ultérieures |
Mémoire vive (RAM) |
512 Mo de RAM (1 Go recommandé) |
512 Mo de RAM (1 Go recommandé) |
256 Mo de RAM |
- |
Vous avez repéré un bogue ? Envoyez-le sur la Base de données de bogues Flash Player et Adobe AIR.
Il est possible que Flash Player et AIR utilisent votre matériel vidéo pour décoder et lire les vidéos H.264. Il est possible que certains bogues vidéo ne puissent être reproduits qu’avec votre matériel et lecteur vidéo particuliers. Lorsque vous signalez un bogue qui implique du contenu vidéo, il est indispensable d’annoter les informations concernant votre matériel et lecteur vidéo, ainsi que votre système d’exploitation et navigateur (si vous utilisez Flash Player), afin que nous puissions reproduire les problèmes et faire des recherches. Veillez à inclure ces informations comme décrit à la rubrique Instructions relatives à la notification de problèmes relatifs à la lecture de vidéos. Remarque : En raison du grand nombre de courriers électroniques reçus, nous ne pouvons donner suite à chaque demande.
Nous vous remercions d’utiliser Adobe® Flash Player® et AIR®, et de prendre le temps de nous faire part de vos impressions !
Date de publication |
Version(s) du moteur d’exécution |
Nouvelles fonctionnalités |
Améliorations de la sécurité |
Problèmes résolus |
21 juin 2012 |
Module d’extension Flash Player 11.3.300.262 pour Windows uniquement |
S/O | S/O | Des blocages se produisent lors de l’affichage de contenu Flash dans Firefox sous Windows (3211153) |
8 juin 2012 |
Flash Player Desktop 11.3.300.257 |
Desktop AIR Mobile |
APSB-14 | [Stage3D sur Desktop] Le contenu Starling est rendu au mauvais emplacement (3153467) |