0 Replies Latest reply on Aug 11, 2017 7:41 AM by Milind.Jha

    08/11/2017 - Beta - Flash 27.0.0.105

    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.

       

      Note:

      • 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.

      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]

      }

      }

      Known Issues

      • N/A

      Fixed Issues

      • N/A

       

      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