11 de junio de 2013. Le damos la bienvenida a Flash Player 11.7 y AIR 3.7. Esta es una actualización programada. Esta versión contiene varias correcciones de errores y mejoras de seguridad

Problemas solucionados

  • La cámara no funciona para stageVideo (iOS) (3558247)
  • No hay ninguna opción para desactivar la aceleración por hardware (3560209)
  • No hay ninguna opción para volver al audio WAV (3553459)

Nuevas funciones

No hay funciones nuevas en esta versión. 
 
Las siguientes funciones se incluyeron en la versión de Flash Player lanzada el 9 de abril de 2013
Nuevas funciones:
  • Mejoras de entorno limitado
  • Prohibición de creación de copias de seguridad en la nube para objetos compartidos (iOS)
  • Uso del modo de representación de CPU para dispositivos seleccionados (iOS)
  • Alojamiento secundario externo de archivos SWF (iOS)
  • API Game Input (Android)
 
Para ver una lista completa de las funciones de Flash Player y AIR introducidas en las versiones anteriores, consulte el documento aquí.
 

Versiones publicadas

Para distribuir Versión de lanzamiento
 Flash Player para escritorio (Mac)  11.7.700.225
 Flash Player para escritorio (Windows)  11.7.700.224
 AIR para escritorio (Mac)  3.7.0.2100
 AIR para escritorio (Windows)  3.7.0.2090
 AIR para móvil  3.7.0.2090
 Compilador y SDK de AIR (Mac)  3.7.0.2100
 Compilador y SDK de AIR (Windows)  3.7.0.2090

Problemas conocidos

  • Algunos controladores AMD Graphics Processing Unit recientes tienen problemas de representación en ciertas circunstancias (3431502)
  • La cámara web no funciona con Microsoft Kinect (3482709)
  • En AIR para iOS, no es posible empaquetar nombres de archivos SWF localizados (3518195)
  • En AIR para iOS, la selección de un componente Spark TextArea puede causar truncamiento de texto (3514889)
  • Las descripciones de aplicación largas en el cuadro de diálogo de instalación de AIR ocultan los botones (3515305)
  • Ligeras demoras en bucles de vídeo FLVPlayback (3515066)
  • Los mapas de bits grandes cuyo tamaño se reduce no se muestran correctamente al publicarlos (3520589)
  • En AIR, se activan eventos extra a causa de elementos de menú contextual personalizados (3493614)
  • En el navegador Chrome, no funciona el cambio de micrófono en caliente durante el tiempo de ejecución (3493587)
  • En Internet Explorer, el audio puede ser ininteligible al desplazar contenido Flash (3520586)
  • Hay distorsión de audio AAC al conectar un micrófono mejorado con AEC (3523551)

Mejoras de seguridad

Boletín de seguridad Productos para distribuir afectados
 APSB13-16  Flash Player para escritorio - Windows® y Mac
 APSB13-16  Flash Player para AndroidTM

Nuevas funciones: Instrucciones de uso

Prohibición de creación de copias de seguridad en la nube para objetos compartidos (iOS)

De momento, en aplicaciones AIR para iOS los desarrolladores no pueden evitar la copia de seguridad en Apple iCloud de objetos compartidos localmente. Con AIR 3.7 se ha introducido la propiedad estática ‘preventBackup’ en la clase SharedObject ActionScript, para permitir a los desarrolladores afrontar esta limitación. Esta propiedad solo se puede usar con 3.7 o espacios de nombres mayores (versión de SWF=>20). Al establecer esta propiedad como true, será imposible crear copias de seguridad de los objetos compartidos. El valor predeterminado es false. Esta propiedad solo funciona en dispositivos con iOS 5.1 o posterior.

var mySO:SharedObject;
mySO = SharedObject.getLocal("test");
mySO.data.userName = "developer";
mySO.data.itemNumbers = new Array(1,2,3);
SharedObject.preventBackup = true;
mySO.flush();


Uso del modo de representación de CPU para dispositivos seleccionados mientras se usa GPU en otros (iOS)

Se ha añadido la nueva etiqueta <forceCPURenderModeForDevices> para dispositivos iOS capaces de forzar el modo de representación de CPU para un grupo determinado de dispositivos iOS y usar renderMode GPU para los demás. Esta función se podrá usar cuando el modo de representación GPU cree situaciones de memoria insuficiente en ciertos dispositivos de gama baja (como iPad1 o iPod4).
Por ejemplo: si especificamos <renderMode> GPU </renderMode> y <forceCPURenderModeForDevices> iPhone1 iPad1 </forceCPURenderModeForDevices>, todos los dispositivos iOS que no sean iPad1 ni iPhone1 usarán renderMode GPU. 
Tenga en cuenta que actualmente esta etiqueta solo se aplica a iOS. La etiqueta se debe agregar a la sección específica de plataforma bajo la etiqueta iPhone.

<iPhone>
    <InfoAdditions>
      <![CDATA[
         <key>UIDeviceFamily</key>
         <array>
           <string>1</string>
           <string>2</string>
         </array>
         <key>UIStatusBarStyle</key>
         <string>UIStatusBarStyleBlackOpaque</string>
         <key>UIRequiresPersistentWiFi</key>
         <string>YES</string>
      ]]>
    </InfoAdditions>
    <forceCPURenderModeForDevices> iPhone3,1 iPad </forceCPURenderModeForDevices>
</iPhone>


La etiqueta <forceCPURenderModeForDevices> se ha agregado bajo la etiqueta iPhone y acepta una lista de nombres de modelos de dispositivo separados por espacios. Algunos de los nombres válidos se citan a continuación.

"iPod4,1"   // iPod Touch Fourth Generation
"iPod5,1"   // iPod Touch Fifth Generation
"iPhone2,1" // iPhone 3GS
"iPhone3,1" // iPhone 4
"iPhone3,2" // iPhone 4 CDMA
"iPhone4,1" // iPhone 4S
"iPhone5,1" // iPhone 5
"iPad1,1"   // iPad
"iPad2,1"   // iPad 2
"iPad2,2"   // iPad 2 (GSM)
"iPad2,3"   // iPad 3 (CDMA)
"iPad2,4"   // iPad 3 (CDMAS)
"iPad2,5"   // iPad Mini Wifi
"iPad3,1"   // iPad 3 (WIFI)
"iPad3,2"   // iPad 3 (CDMA)
"iPad3,3"   // iPad 3 GSM
"iPad3,4"   // iPad 4 (Wifi)


Alojamiento secundario externo de archivos SWF (iOS)

Los desarrolladores de aplicaciones podrán alojar sus archivos SWF secundarios en un servidor externo y cargarlos a petición según la lógica de la aplicación en cuestión. Los archivos SWF secundarios con un código ABC en modo AOT, que antes funcionaban únicamente para archivos SWF previamente empaquetados localmente, se podrán usar ahora para cargar SWF también externamente.
Los desarrolladores tendrán que cambiar la URL de URLRequest de Loader por la URL del SWF quitado y alojado externamente. Ejemplo de petición de URL para usar esta función:

private var externalSwfUrl:String= "http://www.xyz.com/ExternalSwf.swf";
private var urlRequest:URLRequest = new URLRequest(externalSwfUrl);

Para activar esta función, los desarrolladores deben especificar un archivo de texto que contenga detalles de los archivos SWF que quitar y alojar externamente. Tienen que especificar rutas de SWF, separadas por una línea, que se vayan a alojar externamente dentro de este archivo de texto. El formato de especificación de archivos SWF dentro de un archivo TXT de muestra es:

assets/Level1.swf
assets/Level2.swf
assets/Level3/asset/Level3.swf

Este archivo de texto se debe mencionar en la etiqueta <externalSwfs> bajo la etiqueta <iPhone> dentro del descriptor de la aplicación, como se muestra a continuación:

<iPhone>
       .
       .
       <externalSwfs>assets/SampleSWFInfoFile.txt</externalSwfs>
       .
       .
</iPhone>

Durante el empaquetado ADT, los desarrolladores deben especificar el archivo de texto simplemente como activo, junto con el grupo de archivos SWF especificados en el archivo de texto. Ejemplo de comando ADT para usar esta función:

adt -package -target ipa-app-store -provisioning-profile <Provisioning Profile> -storetype pkcs12 -keystore <Certificate> -storepass <Password> ResultantIPA.ipa SampleMainSwf-app.xml SampleMainSwf.swf assets/SampleSWFInfoFile.txt assets/Level1.swf assets/Level2.swf assets/Level3/asset/Level3.swf

Durante el empaquetado IPA, ADT extrae el código Actionscript de todos los archivos SWF secundarios especificados en el archivo de texto de muestra, lo agrega al ejecutable final y coloca los SWF quitados en la carpeta "externalStrippedSwfs" creada en el directorio de trabajo actual. La estructura de directorio de la carpeta "externalStrippedSwfs" se mantiene como se ha especificado en el archivo de texto. Los SWF quitados generados se pueden alojar externamente en un servidor web.
Aquí puede ver un ejemplo de código de Actionscript de trabajo que carga un SWF secundario derivado mediante el procedimiento detallado arriba, desde un servidor externo:

package
{
    import flash.display.Loader;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.IOErrorEvent;
    import flash.net.URLRequest;
    import flash.system.ApplicationDomain;
    import flash.system.LoaderContext;
 
    public class SampleMainSwf extends Sprite
    {
        private var externalLoader:Loader;
        private var url:String= "http://www.xyz.com/Level1.swf";
        private var urlRequest:URLRequest = new URLRequest(url);
        private var ldrContext:LoaderContext;
 
        public function SampleMainSwf()
        {
            externalLoader = new Loader();
            externalLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
            externalLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,errorHandler);
            ldrContext=new LoaderContext(false,ApplicationDomain.currentDomain,null);
 
            try
            {
                externalLoader.load(urlRequest, ldrContext);
            }
            catch(e:Error)
            {
                trace("Error ID : "+e.errorID+"\nError Message : "+e.message);
            }
        }
 
        private function completeHandler(e:Event):void
        {
            addChild(externalLoader);
        }
 
        private function errorHandler(e:IOErrorEvent):void
        {
            trace("In IO ErrorEvent Handler");
        }
 
    }
}

Nota:
1. Las versiones actuales de Flash Builder 4.7/Flash Professional CS6 no admiten esta función. Para activar la generación de SWF quitados para su alojamiento externo se debe usar la línea de comando de empaquetado ADT.
2. La carga de SWF secundarios de Flex bloquea la aplicación.

API GameInput (Android)

La API GameInput es una interfaz que permite la comunicación entre aplicaciones y dispositivos de entrada de juego conectados (joysticks, gamepads, varitas mágicas, etc). Hay una gran variedad de dispositivos de entrada de juego, con diversos controles y funciones. Esta API solo es compatible con dispositivos Android y sistemas operativos a partir de la versión 4.1. Esta API está diseñada para funcionar correctamente con distintos tipos (posiblemente desconocidos) de dispositivos de entrada de juego.
Esta función solo se puede usar con espacios de nombre 3.7 o posteriores y requiere una versión de SWF mínima de 20.

private var gameInput:GameInput;
    public function TestGameInput()
    {
        trace("GameInput.isSupported - "+ GameInput.isSupported);
        trace("GameInput.numDevices - "+ GameInput.numDevices);
 
        gameInput = newGameInput();
        gameInput.addEventListener(GameInputEvent.DEVICE_ADDED, inputDeviceAddedEvent);
        gameInput.addEventListener(GameInputEvent.DEVICE_REMOVED, inputDeviceRemovedEvent);
 
        function inputDeviceRemovedEvent(e:GameInputEvent):void
        {
            trace("inputDeviceRemovedEvent - "+ e.device);
        }
 
        function inputDeviceAddedEvent(e:GameInputEvent):void
        {
            trace("inputDeviceAddedEvent - "+ e.device);
            getDeviceInformation(e.device);
        }
 
        function getDeviceInformation(device:GameInputDevice):void
        {
            trace("device.enabled - "+ device.enabled);
            trace("device.id - "+ device.id);
            trace("device.name - "+ device.name);
            trace("device.numControls - "+ device.numControls);
            trace("device.sampleInterval - "+ device.sampleInterval);
 
            for(var i:Number=0; i < device.numControls; i++)
            {
                var control:GameInputControl = device.getControlAt(i);
                getControlInformation(control);
                control.addEventListener(Event.CHANGE, changeEvent);
            }
        }
 
        function changeEvent(e:Event):void
        {
            var control:GameInputControl = e.target as GameInputControl;
            getControlInformation(control);
        }
 
        function getControlInformation(control:GameInputControl):void
        {
            trace("control.device - "+ control.device);
            trace("control.value - "+ control.value);
            trace("control.minValue - "+ control.minValue);
            trace("control.maxValue - "+ control.maxValue);
            trace("control.id - "+ control.id);
 
        }
    }

Directrices de creación

Creación para Flash Player 11.7

Para utilizar la nueva versión de Flash Player, debe ir a la versión 20 del SWF de destino transfiriendo un argumento adicional al compilador de Flex: -swf-version=20. A continuación le explicamos cómo hacerlo. Si utiliza el SDK de Adobe Flex:

  • Descargue el nuevo archivo playerglobal.swc para Flash Player 11.7.
  • Descargue el SDK 4.5.1 de Flex (4.5.1.21328) desde la tabla del SDK 4.5 de Flex.
  • Instale el programa en su entorno de desarrollo
  • En Flash Builder, cree un proyecto nuevo de ActionScript: Archivo -> Nuevo -> Proyecto de ActionScript.
  • Abra el panel Propiedades del proyecto (haga clic con el botón derecho y seleccione “Propiedades”). Seleccione “Compilador de ActionScript” en la lista de la izquierda.
  • Utilice la opción “Configurar SDK de Flex” en la esquina superior derecha para que el proyecto apunte a la versión 21328 de Flex. Haga clic en Aceptar.
  • Configure el proyecto para que apunte a la versión 20 del SWF
  • Abra el panel Propiedades del proyecto (haga clic con el botón derecho y seleccione “Propiedades”). Seleccione “Compilador de ActionScript” en la lista de la izquierda.
  • Añada -swf-version=20 en “Argumentos adicionales de compilador”. Esto garantizará que el SWF de salida apunte a la versión 20 del SWF. Si compila en la línea de comandos y no en Flash Builder, deberá añadir el mismo argumento de compilador.
  • Asegúrese de que ha instalado la nueva versión de Flash Player 11.7 en el navegador.

Creación para AIR 3.7 Actualizar al espacio de nombres de AIR 3.7

Debe actualizar el archivo descriptor de la aplicación al espacio de nombres 3.7 para poder acceder al nuevo comportamiento y las API de AIR 3.7. Si su aplicación no requiere el nuevo comportamiento y las API de AIR 3.7, no es necesario que actualice el espacio de nombres. No obstante, recomendamos a todos los usuarios que empiecen a utilizar ya el espacio de nombres de AIR 3.7 incluso si creen que no van a aprovechar las nuevas funciones 3.7. Para actualizar el espacio de nombres, cambie el atributo xmlns en el descriptor de la aplicación por: <application xmlns="http://ns.adobe.com/air/application/3.7">

Informar sobre un error

¿Ha encontrado algún error? Envíe el error a la base de datos de errores de Flash Player y Adobe AIR.

Flash Player y AIR tal vez aprovechen su hardware de gráficos para descodificar y reproducir vídeo H.264. Puede haber problemas de vídeo que solo existan con un hardware de gráficos y un controlador concretos. Si nos informa de un problema relacionado con vídeo, es esencial que anote el modelo de hardware de gráficos y de controlador, además de los datos del sistema operativo y el navegador (si utiliza Flash Player), para que podamos reproducir la misma situación e investigar el problema. No olvide incluir esta información tal como se describe en Instrucciones para informar sobre problemas de reproducción de vídeo. Nota: debido al gran volumen de correo electrónico recibido, nos resulta imposible contestar a todas las solicitudes.

Gracias por usar Adobe® Flash Player® y AIR®, y por dedicar el tiempo necesario para enviarnos sus opiniones.

Requisitos del sistema

Para conocer los requisitos del sistema más recientes de Flash Player, consulte el documento aquí

Para conocer los requisitos del sistema más recientes de AIR, consulte el documento aquí.

Historial de versiones del motor de ejecución


 Fecha de versión Versión del motor de ejecución Mejoras de seguridad
21 de mayo de 2013 Flash Player para escritorio (Windows, Mac): 11.7.700.203
Flash Player (Chrome): 11.7.700.203
 - 
14 de mayo de 2013 Flash Player para escritorio (Windows, Mac): 11.7.700.202
AIR para escritorio, iOS, Android: 3.7.0.1860
Compilador y SDK de AIR: 3.7.0.1860
 APSB13-14
9 de abril de 2013 Flash Player para escritorio (Windows, Mac): 11.7.700.169
Flash Player para Chrome: 11.7.700.179
AIR para escritorio, iOS: 11.7.0.1530
AIR para Android: 11.7.0.1660
SDK de AIR: 11.7.0.1530
Compilador y SDK de AIR: 11.7.0.1530
 APSB13-11
12 de marzo de 2013 Flash Player para escritorio(Windows, Mac): 11.6.602.280
AIR para Windows, Mac, Android, iOS: 3.6.0.6090
SDK de AIR: 3.6.0.6090
Compilador y SDK de AIR: 3.6.0.6090
 APSB13-09
26 de febrero de 2013 Flash Player para escritorio (Windows, Mac): 11.6.602.171  APSB13-08
12 de febrero de 2013 Flash Player para escritorio(Windows): 11.6.602.168
Flash Player para escritorio (Mac): 11.6.602.167
AIR para Windows, Mac, Android, iOS: 3.6.0.597
Compilador y SDK de AIR: 3.6.0.599
 APSB13-05
7 de febrero de 2013 Flash Player para escritorio (Windows, Mac): 11.5.502.149  APSB13-04
8 de enero de 2013 Flash Player para escritorio (Windows, Mac): 11.5.502.146
AIR (Windows, Mac, móvil): 3.5.0.1060
SDK de AIR: 3.5.0.1060
 APSB13-01
11 de diciembre de 2012 Flash Player para escritorio (Windows: 11.5.502.135)
Flash Player para escritorio para Mac: 11.5.502.136
AIR para Windows, Android: 3.5.0.880
AIR para Mac: 3.5.0.890
 APSB12-27
6 de noviembre de 2012 Flash Player para escritorio (Windows, Mac): 11.5.502.110
AIR (Windows, Mac, móvil): 3.5.0.600
SDK de AIR: 3.5.0.600
 APSB12-24
8 de octubre de 2012 Flash Player para escritorio (Windows, Mac): 11.4.402.287
AIR (Windows, Mac, móvil): 3.4.0.2710
SDK de AIR: 3.4.0.2710
 APSB12-22
21 de agosto de 2012 Flash Player para escritorio (Windows, Mac): 11.4.402.265
AIR (Windows, Mac, móvil): 3.4.0.2540
SDK de AIR: 3.4.0.2540
 APSB12-19

Esta obra está autorizada con arreglo a la licencia de Reconocimiento-NoComercial-CompartirIgual 3.0 Unported de Creative Commons.  Los términos de Creative Commons no cubren las publicaciones en Twitter™ y Facebook.

Avisos legales   |   Política de privacidad en línea