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.

Version(s) actuelle(s) du moteur d’exécution

  • Flash Player Desktop : 11.3.300.271

Nouvelles fonctionnalités

 S/O

Améliorations de la sécurité

Cette version comprend les améliorations de sécurité telles qu’elles sont répertoriées dans le Bulletin de sécurité APSB12-18.

Problèmes résolus

S/O

Problèmes connus

  • Problèmes de distorsion audio lors de la diffusion de contenu Flash (3212648)

Création pour Flash Player 11.3

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.

Création pour AIR 3.3

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">

Instructions d’utilisation des fonctionnalités

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 

API ActionScript associée :

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;
Les objets EncoderOptions pris en charge sont les suivants :

// 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>

Configuration système

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

La configuration minimale requise pour AIR 3.3 est la suivante :

 

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 

 -

Notification de bogues

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 !

 

Historique des versions du moteur d’exécution

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
AIR Desktop 3.3.0.3650
AIR Android 3.3.0.3650
AIR SDK 3.3.0.3650

Desktop
 : Saisie clavier plein écran pour Flash Player
Prise en charge du son de faible latence pour la diffusion de son via NetStream
Prise en charge du son de faible latence pour l’API Sound
Mode Protégé pour Firefox (Windows® uniquement)
Diffusion en continu de textures
Programme de mise à jour en arrière-plan pour Mac
Événements Framelabel
Bitmapdata.drawwithQuality
BitmapData.encode
Événement ReleaseOutside
Introspection des classes du moteur d’exécution
Prise en charge améliorée de l’App Store d’Apple MacOS

AIR Mobile
 : Prise en charge du SDK de la plate-forme iOS sous Windows®
Prise en charge du stylet pour les appareils AndroidTM 4.0
Débogage USB pour AIR iOS
Comportement en arrière-plan amélioré pour AIR iOS
Prise en charge du simulateur pour iOS
Améliorations liées au format

APSB-14

[Stage3D sur Desktop] Le contenu Starling est rendu au mauvais emplacement (3153467)
Blocage du rendu iOS sur certaines applications lors de l’utilisation du mode de rendu par GPU (3124838)
Les paramètres de qualité de l’anticrénelage ne sont pas respectés en mode renderMode=gpu (3124862)
[Stage3D] Sur un ordinateur Mac muni d’un processeur Intel HD 3000, le rectangle symétrique n’est pas correctement défini (2959500)
Lors de l’utilisation de MouseLock sur le navigateur Chrome sous Windows 7, movementX/Y renvoie des valeurs absolues plutôt que des valeurs relatives (3152175)
Problème de latence audio lorsque plusieurs occurrences de Flash sont ouvertes dans un navigateur (3084306)
Problème d’écran vert avec la lecture vidéo (3050372)

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne