0 Replies Latest reply on Oct 17, 2017 3:34 AM by Milind.Jha

    10/17/2017 - Beta - Flash

    Milind.Jha Adobe Employee (Admin)

      Welcome to the updated Flash Runtime version 27 beta!  We've been working on new features and fixing important bugs for Flash Player and we're looking forward to receiving feedback from our Flash Player community.


      This beta release includes enhancements and bug fixes related to security, stability, performance, and device compatibility for Flash Player 27.  For full details, please see our release notes.



      • The ActiveX Flash Player in this release is not compatible with Windows® 8.x or 10
      • Flash Player for Windows® 8.x/10 is available as part of the generally available Windows® 8.x/10 update
      • Flash Player Linux builds have not been updated on Adobe Labs

      New and Updated Features

      Support ActionScript API for Audio Device Manager

      With the release of Flash Player 27, developers can now select the audio output from ActionScript using the new ActionScript API - “AudioDeviceManager”. It is in sync with Flash Player's audio output settings. A UIA (User Invoked Action) restriction is applied to this API keeping in view user privacy concerns. The API can only be invoked by a user invoked action. If it is not invoked by user action, Flash Player throws a runtime error "IllegalOperationError" with error code 2176.

      Use the AudioDeviceManager class to list down the audio output devices attached to a system using the property, deviceNames(). This returns an array of the attached devices. The index of the selected device from that array can then be retrieved using the selectedDeviceIndex() property. A new event introduced with this API, named AudioOutputChangeEvent.AUDIO_OUTPUT_CHANGE is dispatched to ActionScript listeners when the audio output changes. It is dispatched when the user selects a different audio device from Flash Player's setting UI (Audio Output), content setting (AudioDeviceManager.selectedDeviceIndex), or when adding/ removing the device from the system. The ActionScript client can check how the audio output change is triggered through “AudioOutputChangeEvent.reason” class.

      The two reason codes are "AudioOutputChangeReason.USER_SELECTION" and "AudioOutputChangeReason.DEVICE_CHANGE".

      Here is the general workflow of the API:

      1. The content provides a control such as a button that indicates that the user should click to select an audio device.
      2. When the user selects the control, a separate UI is presented to the user to handle the click event. It uses the new AudioDeviceManager API to enumerate Audio Output device names, and the UI setup work.
      3. When the user selects a device, the content uses the new AudioDeviceManager  API to set the new device in handling the user's selection.

      Audio device selection made by Flash via AudioDeviceManager API is only valid within the current browser session when the browser is closed, the selection will be lost. This is because user selected audio device is not stored in persistent storage. Also, if user plugins other default device, ie USB headset, Flash content audio will automatically switch to this default device.

      Known Issues:

      1. On Linux, Flash and Non-Flash audio player cannot play audio using the same device at the same time. If audio is switched to a device which is currently

      playing non Flash content, Flash audio will stop.

      2. Flash Player does not handle switch between devices with same name properly.

      Sample Snippet:

      var audio_device_manager:AudioDeviceManager = AudioDeviceManager.audioDeviceManager;
      var status_ta:mx.controls.TextArea;
      status_ta.html = false;
      status_ta.setStyle("fontSize", 9);
      var audio_output_device_array:Array = audio_device_manager.deviceNames;
      var selected_audio_device:String = audio_output_device_array[audio_device_manager.selectedDeviceIndex];
      status_ta.text = "The default device is: "+selected_audio_device+newline+newline;
      status_ta.text += "You have "+audio_output_device_array.length+" device(s) available."+newline+newline;
      for (var i = 0; i<audio_output_device_array.length; i++) {
          status_ta.text += "["+i+"] "+audio_output_device_array[i]+newline;


      Select an audio output device

      var audio_device_manager:AudioDeviceManager = AudioDeviceManager.audioDeviceManager;
      audio_device_manager.selectedDeviceIndex = desired_audio_output_index;


      Monitor audio output change

      function audioOutputChangeHandler(evt:AudioOutputChangeEvent):void
       if (evt.reason == AudioOutputChangeReason.USER_SELECTION) {
       [do something]
       } else if (evt.reason == AudioOutputChangeReason.DEVICE_CHANGE) {
       [do something]


      Known Issues

      • Flashplayer quits unexpectedly when logging into VCD (Virtual Cloud) Portal(FP-4198649)
      • Memory leak is observed when using baseline_constrained profile on Firefox (FP-4198562)

      Fixed Issues

      • LoadMovie on layers other than 0 causes access violation in C# WinForms(FP-4198533).
      • Audio device selection not working when there are multiple devices with same name(FP-4198585)
      • Content freezes while switching the tabs on Firefox (FP-4198571, FP-4198555)
      • Video stops rendering after minimizing/restoring the Firefox browser window.


      Authoring for Flash Player 27 and AIR 27

      • Update application descriptor namespace to 27
      • SWF version should be 38

      System Requirements

      For system requirements of the current release of Flash Player in production, please visithttp://www.adobe.com/products/flashplayer/systemreqs/

      About the Beta Channel

      To get the latest Beta build of Flash Player visit Adobe labs