Welcome to the latest AIR Runtime and SDK version 23 beta! We've been hard at work adding new features to AIR and we're looking forward to receiving feedback from our development community.
This beta release includes new features as well as enhancements and bug fixes related to security, stability, performance, and device compatibility for AIR Runtime and SDK 23. For full details, please see our release notes
New and Updated Features
GameInput API for iOS
Starting AIR 23, we are providing GameInput API support for iOS. GameInput API is an interface that allows applications to communicate with attached Game controllers. There are different types of Game Controllers depending on the number of controls. This API allows an application to get all information related to the Game controller.
GameInput API support has already been available for Android. On iOS, it requires a minimum swf version of 34. This API supports iOS devices running on iOS version 9.0 or higher.
GameInput API Example:
trace("GameInput.isSupported - "+ GameInput.isSupported);
trace("GameInput.numDevices - "+ GameInput.numDevices);
gameInput = newGameInput();
trace("inputDeviceRemovedEvent - "+ e.device);
trace("inputDeviceAddedEvent - "+ e.device);
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(vari:Number=0; i < device.numControls; i++)
varcontrol:GameInputControl = device.getControlAt(i);
varcontrol:GameInputControl = e.target asGameInputControl;
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);
Echo Cancellation on AIR for Android
Starting AIR 23, we have introduced Echo Cancellation for AIR on Android.
Acoustic echo occurs when the speaker output feeds back to the built-in microphone input, producing disturbing echoing artifacts and significantly reducing the quality of captured data. Acoustic echo arises in collaboration applications, where two or more parties carry out interactive conversation.
From this release onwards, developers can develop VOIP applications without any echo using AIR on Android.
Note: This feature is already present on AIR for desktop and iOS Platform. For more information, see Microphone - AS3.
The following changes are required in the action script code:
To get access to device Microphone, we use Microphone.getMicrophone(). However, this API returns a simple microphone, which does not have the ability to eliminate acoustic echo. To remove the acoustic echo, developers must get an instance of Microphone using the API: Microphone.getEnhancedMicrophone(). The device microphone returned by this API has the acoustic echo cancellation feature enabled.
- Add the following tag under Android manifest additions:
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
- There may be pre-existing swfs that use Microphone. getEnhacedMicrohone () API (as it is already present and working for AIR desktop applications). If such swf files are packaged with the latest AIRSDK (version 23), the feature will not work. Developers need to recompile the swf with swf-version 34 or higher.
Here is the example code snippet for this scenario:
public function Microphoe()
mic = Microphone.getEnhancedMicrophone();
- Acoustic Echo Cancellation may not work on some devices (such as the Moto G2) because of hardware side limitations.
- The API MicrophoneEnhancedOptions (present on AIR for desktop) will be a no-op on AIR for Android.
- Performance of the feature can vary depending upon the hardware side handling of echo cancellation for different Android devices. For the devices that do not support Echo Cancellation at the hardware level, AIR will handle the echo cancellation from the software side.
- Acoustic effects of the microphone class will vary according to the device. Because the Android Family has devices with different hardware configurations, the same audio settings will have different impact on different devices. For example, a developer may have to use "mic.gain = 70;" for Samsung Note 4 for loud output of the voice.
The StageText clear button is now optional on iOS
While creating StageText object on iOS, a clear button option is available by default to the AS developers.
Beginning with AIR 23, a new feature has been introduced, which makes the StageText clear button optional. This provides more flexibility to AS developers when using StageText. In earlier versions, StageText object was created with an integrated clear button.
To implement this feature, the following changes are required in the ActionScript code:
To get access to the optional clear button support, AS developers can now use a clearButtonMode property to set different modes. The following modes are associated with this property:
- To show clearButton while editing: StageTextClearButtonMode.WHILE_EDITING
- To never show clearButton: StageTextClearButtonMode.NEVER
- To always show clearButton: StageTextClearButtonMode.ALWAYS
- To show clearButton unless editing: StageTextClearButtonMode.UNLESS_EDITING
By default, clearButtonMode property is set as StageTextClearButtonMode.WHILE_EDITING.
- The application must be packaged with the latest AIR SDK (version 23).
- SWF version must be 34 or later.
Here is the example code snippet for this scenario:
public function ClearButtonMode()
label = new StageText();
label.clearButtonMode = StageTextClearButtonMode.NEVER;
label.textAlign = "right";
label.stage = stage;
label.viewPort = new Rectangle(20, 20, 90, 90);
• This property is not available in StageText with multi-line
• This property is a No-Op for Android
Win: Add HiDPI support for AIR desktop (Release)
Beginning with AIR 23, HiDPI support for AIR Desktop on Windows has been introduced. It allows you to provide a higher quality rendering for AIR content on HiDPI displays. This feature works on the concept of higher pixel density scaling instead of pixel-doubling scaling.
Note: HiDPI is already available for AIR on Mac Retina displays. To implement this feature in an AIR app, the developer should set requestedDisplayResolution as high in the manifest file.
- requestedDisplayResolution set high
- Glitches are observed when graphic content is transformed with 2.5D transformation in AIR 23(4191283)
- Artifacts are observed when Z axis depth of the display object is changed(4189739)
- Triangle is either blank or filled with artifacts when using Graphics.drawTriangles() in AIR 23.0 (4191288)
- Glitches are observed when using 3D rotation is applied on a Bitmap or any containers(4188948)
Authoring for Flash Player 23 and AIR 23
- Update application descriptor namespace to 23
- SWF version should be 34
For system requirements of the current release of AIR in production, visithttp://www.adobe.com/products/air/systemreqs/
About the Beta Channel
To get the latest Beta build of AIR Runtime and SDK visit Adobe labs
If you would like real-time notification for announcements related to the AIR Beta Channel please follow the Flash Runtime Announcements forums by choosing "Follow this forum" from the right-hand menu on the Forums page.