Flash Player 11.3/AIR 3.3Update 07/06/2012 : Flash Player 11.3/AIR 3.3 has now shipped.

I am excited to announce the public beta of Flash Player 11.3 and AIR 3.3.

This release includes a lot of little improvements that we included to either improve your workflow today for mobile development or simply add the things you always wondered why it was not there.

We also added key features like fullscreen text input to enable better gaming experiences for you developers leveraging fullscreen capabilities.

As we mentioned at Max last year, we have in the team an initiative called JDI (Just do it) where the goal is to add those little things which makes your life easier as a developer.

It is generally a very little feature, in the team, we like to say "Tiny APIs, big impact", cause it just makes things easier and better.

Here is below the list of improvements/features added to this release:

  • Frame-label events
To make things easier when working with timeline assets, you can now register a listener to a FrameLabel object.
var frame:FrameLabel = mc.currentLabels[0];

frame.addEventListener(Event.FRAME_LABEL, onFrame);
  • Silent auto update for Mac
We introduced this feature on Windows in Flash Player 11.2. Now, Flash Player 11.3 also gets silent auto update on MacOS. Faster penetration now on both platforms.
  • Audio latency improvements

This enhancement reduces the latency for Sound.play method and changes to volume and pan on SoundTransform.
The latency of SampleDataEvent.SAMPLE_DATA event should also be reduced considerably. For an input sample size of 2048, the latency should be optimal.

  • Reduced latency for un-buffered audio playback
The goal of this feature is to reduce latency for live un-buffered audio playback for all supported codecs.
The feature must be explicitly enabled. Application must use un-buffered playback NetStream.bufferTime = 0 and set NetStream.useJitterBuffer = true to enable the feature.
  • Fullscreen text input
Yes! You read it right. Enable full support for all keyboard keys available to an embedded SWF running in full screen mode.
To enable it, two things. First, enable it through the new HTML parameter:
<param name=”allowFullScreenInteractive” value=”true”/>

Which is then reflected through the new stage property:


To trigger it, just use the new StageDisplayState.FULL_SCREEN_INTERACTIVE constant:

stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
  • Texture streaming for Stage3D
You can now upload the mip-levels in the order you want, from the lowest definition to the highest, you can then now enable progressive texture loading with Stage3D.
[Embed( source = "MipLevel9.jpg" )]
var MipLevel9:Class;
var context3D:Context3D;
var texture:Texture;

stage.stage3Ds[0].addEventListener(Event.CONTEXT3D_CREATE, createdHandler);

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();
  • Drivers gating hardware acceleration relaxed to 2006 (was 2009 in 11, 2008 in 11.2)
In previous releases, we gated support to drivers older than January 1, 2008. In the future release, we will be changing the gating to apply to drivers older than January 1, 2006.
This Flash Player 11.3/AIR 3.3 beta integrates this change, the feature is enabled in the pre-released builds to gather early feedback.
Please note that this feature will be removed before the final release and added to a next release.
  • New driverInfo details
We expose more details now through context3D.driverInfo to detect why Stage3D fallback to software.
HW acceleration checkbox disabled? Drivers too old? Blacklisted chipset? We tell you.
In Flash Player 11.3 and AIR 3.3, the driverInfo string can now return the following values depending on the scenario:
  • "Software Hw_disabled=userDisabled"

HW acceleration setting checkbox in Settings UI is not checked so HW acceleration fail and SW rendering is used for Stage3D.

  • "Software Hw_disabled=oldDriver"

HW graphics driver is blacklisted due to known issue so SW rendering is used for Stage3D. It will be fixed by updating driver.

  • "Software Hw_disabled=unavailable"

It fail to use HW due to driver's capability or blacklisted in general or any failure of HW graphics initialization so SW rendering is used for Stage3D

  • "Software Hw_disabled=explicit"

Content request a software rendering explicitly through requestContext3D so SW rendering is used for Stage3D.

In the next beta, those Strings will be available as constants of a new class, to simplify your detection logic.

The famous event which got removed in AS3, is back, much simpler than all the AS3 workarounds to emulate it.
Example :
s.addEventListener(MouseEvent.RELEASE_OUTSIDE, onReleaseOutsideHandler);
  • ApplicationDomain.getQualifiedDefinitionNames()
You remember Application.getDefinition()? The limitation is that you had to know ahead of time the name of the class definition you wanted to extract.
Now applicationDomain.getQualifiedDefinitionNames() extracts all of the classes available in a SWF, perfect for SWF introspection and runtime loaded assets. SWFExplorer non longer needed!
Example :
var definitions:Vector.<String> = this.loaderInfo.applicationDomain.getQualifiedDefinitionNames();
  • BitmapData.drawWithQuality
In the past, the BitmapData.draw() API did not accept a quality parameter, you had to change the stage quality to affect the rasterization, not anymore with BitmapData.drawWithQuality() which obviously takes a quality parameter.
Example :
bitmapData.drawWithQuality(sprite, sprite.transform.matrix, null, null, null, null, StageQuality.BEST);
  • Native Bitmap compression : BitmapData.encode()
Support for native JPEG/PNG/JPEG-XR compression.
Example :
var bitmapData:BitmapData = new BitmapData(640,480,false,0x00FF00);

var byteArray:ByteArray = new ByteArray();

bitmapData.encode(bitmapData.rect, new JPEGEncoderOptions(), byteArray);
And some other nice improvements :
  • Background behavior for AIR
  • Android 4.0 Stylus Support
  • USB Debugging
  • Landscape mobile
  • Simulator support for iOS

As usual, download everything on Adobe Labs. Let us know if you get any bugs. Thanks!