0 Replies Latest reply on Nov 14, 2017 8:50 AM by chris.campbell

    11/14/2017 - Release - Flash Player 27

    chris.campbell Adobe Employee

      In today's scheduled release, we've updated Flash Player with important functional and security fixes.  Current Flash Player customers who have selected the "Allow Adobe to install updates (recommended)" update mechanism will be automatically updated to the latest version of Flash Player over the next 24 hours.

       

      The most recent Flash Player security bulletin can be found here: Security Bulletin (APSB17-33)

       

       

      Features for Flash Player 27:

       

      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.

      Sample Snippet:

       

      Access the system available audio device names

      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]

           }

      }

       

      Audio device selections made by Flash via AudioDeviceManager API are only valid within the current browser session.  When the browser is closed, the selection will be lost.  User selected audio devices are not persisted within Flash storage, it's the developer's responsibility to save and restore the audio settings if it makes sense for their workflow.  If a user plugs in another default device, ie. a 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 properly handle switching between devices with same name.

       

      For complete information please see our release notes.

       

       

      Fixed Issues

      • LoadMovie on layers other than 0 causes access violation in C# WinForms (FP-4198533).
      • Flash Player quits unexpectedly before the content is loaded in certain cases.

       

       

      Known Issues

      • EVENT.ACTIVATE not triggered on chrome when a tab is dragged in and out of the Chrome's window(FP-4198532)
      • Flash Player settings panel become unresponsive when hardware acceleration is turned off on Firefox

       

      Current Flash Player users who have enrolled in the "Allow Adobe to install updates (recommended)" update mechanism will be automatically updated to Flash Player 27 over the next 24 hours.

       

      Users who have selected "Notify me to install updates" will receive an update notification dialog within 7 days from today.  Please note that Windows users will need to restart their system or log out and in to activate the update notification dialog.

       

      Customers using Google Chrome will receive updates through the Google update mechanisms.  Customers using Internet Explorer or Microsoft Edge on Windows 8.1 and Windows 10 will receive the update through Windows Update.

       

      If you would like to install the update immediately, please use one of the links below:

       

      Flash Player 27 Windows for Internet Explorer - ActiveX:  27.0.0.187

      Flash Player 27 Windows for Firefox and other Netscape Compatible Browsers - NPAPI: 27.0.0.187

      Flash Player 27 Windows for Opera and Chromium Based Browsers - PPAPI: 27.0.0.187

       

      Flash Player 27 Windows for Google Chrome - PPAPI: 27.0.0.187

       

      Flash Player 27 for Internet Explorer on Windows 8.1 (64-bit machine): 27.0.0.187

      Flash Player 27 for Internet Explorer on Windows 8.1 (32-bit machine): 27.0.0.187

       

      Flash Player 27 Windows for Internet Explorer and Edge on Windows 10 - ActiveX: 27.0.0.187

       

      Flash Player 27 Mac for Safari, Firefox and other Netscape Compatible Browsers - NPAPI: 27.0.0.187

      Flash Player 27 Mac for Opera and Chromium Based Browsers - PPAPI: 27.0.0.187

       

      Flash Player 27 Mac for Google Chrome - PPAPI: 27.0.0.187

       

      Flash Player 27 desktop for Linux (NPAPI): 27.0.0.187

      Flash Player 27 desktop for Linux Chromium (PPAPI): 27.0.0.187

       

       

      If you encounter a problem with broken or missing links, please clear your browser cache and try again.  If the problem persists, please create a new post in our forum or send email to ccampbel@adobe.com or mkumarjh@adobe.com.