flash.events

# ThrottleEvent - AS3

Package | flash.events
Class | public class ThrottleEvent
Inheritance | ThrottleEvent Event Object

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 11, AIR 3.2

A ThrottleEvent is dispatched when the Flash Player throttles, pauses, or resumes content. There is only one type of ThrottleEvent event: `ThrottleEvent.THROTTLE`.

This event is a broadcast event, which means that it is dispatched by all EventDispatcher objects with a listener registered for this event. For more information about broadcast events, see the DisplayObject class.

Note: This event has neither a "capture phase" nor a "bubble phase", which means that event listeners must be added directly to any potential targets, whether the target is on the display list or not.

The Flash Player can throttle the content to a low frame rate (meaning the frame rate is reduced to a value typically between 2 and 8 fps). Content can be throttled when its tab is hidden or minimized. On a mobile device, content can be throttled when the backlight goes off or screensaver mode comes on. Prior to throttling the content, a ThrottleEvent is dispatched with `ThrottleEvent.state=ThrottleType.THROTTLE`. The `ThrottleEvent.targetFrameRate` property contains the value of the new target frame rate.

The content can run code in the event listener to prepare for the throttle. This is an opportunity to alert external content that the throttled content is much less responsive. For instance, an active `FileReference.upload()` or `FileReference.download()` method could be canceled. Or, if content is communicating using LocalConnection with another SWF, this is an opportunity to inform that SWF to expect less responsiveness. Note that the throttled content may not be able to complete asynchronous actions prior to entering the throttle. Content enters the throttled state when the event listener returns.

The Flash Player can pause content. For example, content can be paused when it is scrolled offscreen on a mobile device at a time when no audio or video is playing. Prior to pausing the content, a ThrottleEvent is dispatched with `ThrottleEvent.state=ThrottleType.PAUSE` and `ThrottleEvent.targetFrameRate=0`. Similar to when the content receives a `ThrottleType.THROTTLE` event, the content can run code in the event listener to prepare for the pause. When the event listener returns, the content enters the paused state. While paused, the content does not respond to user interaction, such as mouse clicks or keyboard entry. However, ActionScript network events can still be received.

When the Flash Player resumes the content from a throttled or paused state, a ThrottleEvent is dispatched with `ThrottleEvent.state=ThrottleType.RESUME`. `ThrottleEvent.targetFrameRate` describes the frame rate and is normally equal to `Stage.frameRate`. Content may be resumed when any part of the stage becomes visible or when the user makes a request for the content to be resumed.

The platforms that support throttling and pausing are currently the following: Flash Player Desktop Mac and Windows, AIR Mobile, and Flash Player Android. The following platforms do not dispatch the ThrottleEvent automatically because they do not yet support pausing or throttling: AIR for TV devices, AIR for desktop, and Flash Player Linux Desktop.

Related API Elements

flash.display.DisplayObject
flash.display.Stage
flash.events.ThrottleType

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | bubbles : Boolean [read-only] Indicates whether an event is a bubbling event. | Event
|  | cancelable : Boolean [read-only] Indicates whether the behavior associated with the event can be prevented. | Event
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | currentTarget : Object [read-only] The object that is actively processing the Event object with an event listener. | Event
|  | eventPhase : uint [read-only] The current phase in the event flow. | Event
|  | state : String [read-only] Describes the state that the player is entering: ThrottleType.THROTTLE, ThrottleType.PAUSE, or ThrottleType.RESUME. | ThrottleEvent
|  | target : Object [read-only] The event target. | Event
|  | targetFrameRate : Number [read-only] The frame rate that Flash Player or AIR targets after the ThrottleEvent is dispatched. | ThrottleEvent
|  | type : String [read-only] The type of event. | Event

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | ThrottleEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, state:String = null, targetFrameRate:Number = 0) Creates an Event object that contains information about the ThrottleEvent. | ThrottleEvent
|  | clone():Event [override] Creates a copy of the ThrottleEvent object and sets the value of each property to match that of the original. | ThrottleEvent
|  | formatToString(className:String, ... arguments):String A utility function for implementing the toString() method in custom ActionScript 3.0 Event classes. | Event
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isDefaultPrevented():Boolean Checks whether the preventDefault() method has been called on the event. | Event
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | preventDefault():void Cancels an event's default behavior if that behavior can be canceled. | Event
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | stopImmediatePropagation():void Prevents processing of any event listeners in the current node and any subsequent nodes in the event flow. | Event
|  | stopPropagation():void Prevents processing of any event listeners in nodes subsequent to the current node in the event flow. | Event
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String [override] Returns a string that contains all the properties of the ThrottleEvent object. | ThrottleEvent
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Public Constants
Hide Inherited Public Constants
Show Inherited Public Constants

| Constant | Defined By
--- | --- | ---
|  | THROTTLE : String = "throttle" [static] Defines the value of the type property of a ThrottleEvent event object. | ThrottleEvent

Property Detail

### state

property

`state:String` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 11, AIR 3.2

Describes the state that the player is entering: `ThrottleType.THROTTLE`, `ThrottleType.PAUSE`, or `ThrottleType.RESUME`.

Implementation
`public function get state():String`

Related API Elements

flash.events.ThrottleType

### targetFrameRate

property

`targetFrameRate:Number` [read-only]

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 11, AIR 3.2

The frame rate that Flash Player or AIR targets after the ThrottleEvent is dispatched.

For example, if the content is being paused, `targetFrameRate` is 0. If the content is being throttled, then `targetFrameRate` is typically between 2 and 8, depending on which platform the content is running on, whether audio is playing, and other factors. If the content is returned to the expected frame rate after being paused or throttled, `targetFrameRate` equals `Stage.frameRate`.

Implementation
`public function get targetFrameRate():Number`

Related API Elements

flash.display.Stage
Constructor Detail

### ThrottleEvent

()
Constructor

`public function ThrottleEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false, state:String = null, targetFrameRate:Number = 0)`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 11, AIR 3.2

Creates an Event object that contains information about the ThrottleEvent. Event objects are passed as parameters to event listeners.

Parameters

| `type:String` — The type of the event. Event listeners can access this information through the inherited `type` property. There is only one type of ThrottleEvent event: `ThrottleEvent.THROTTLE`.
| `bubbles:Boolean` (default = `false`)`` — Determines whether the Event object participates in the bubbling stage of the event flow. Event listeners can access this information through the inherited `bubbles` property.
| `cancelable:Boolean` (default = `false`)`` — Determines whether the Event object can be canceled. Event listeners can access this information through the inherited `cancelable` property.
| `state:String` (default = `null`)`` — `ThrottleType.THROTTLE`, `ThrottleType.PAUSE`, or `ThrottleType.RESUME`.
| `targetFrameRate:Number` (default = `0`)`` — Describes the frame rate that Flash Player or AIR will target after the ThrottleEvent is dispatched. For example, if the content is being paused, `targetFrameRate` is 0. If the content is being throttled, then `targetFrameRate` is typically between 2 and 8, depending on which platform the content is running on, whether audio is playing, and other factors. If the content is returned to the expected frame rate after being paused or throttled, `targetFrameRate` equals `Stage.frameRate`.

Related API Elements

flash.display.Stage
Method Detail

### clone

()
method

`override public function clone():Event`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 11, AIR 3.2

Creates a copy of the ThrottleEvent object and sets the value of each property to match that of the original.

Returns

| `Event` — A new ThrottleEvent object with property values that match those of the original.

### toString

()
method

`override public function toString():String`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 11, AIR 3.2

Returns a string that contains all the properties of the ThrottleEvent object. The string is in the following format:

`[ThrottleEvent type=value bubbles=value cancelable=value state=value targetFrameRate=value]`

Returns

| `String` — A string that contains all the properties of the ThrottleEvent object.

Constant Detail

### THROTTLE

Constant

`public static const THROTTLE:String = "throttle"`

Language Version: | ActionScript 3.0

Runtime Versions: | Flash Player 11, AIR 3.2

Defines the value of the `type` property of a `ThrottleEvent` event object.

This event has the following properties:

Property | Value
--- | ---
`bubbles` | `false`
`cancelable` | `false`; there is no default behavior to cancel.
`currentTarget` | The object that is actively processing the Event object with an event listener.
`target` | Any DisplayObject instance with a listener registered for the throttle event.
`state` | ThrottleType.THROTTLE, ThrottleType.PAUSE, or ThrottleType.RESUME.
`targetFrameRate` | Describes the frame rate that Flash Player or AIR will target after the ThrottleEvent is dispatched. For example, if the content is being paused, targetFrameRate will be 0. If the content is being throttled, then targetFrameRate is typically between 2 and 8, depending on which platform the content is running on, whether audio is playing, and other factors. If the content is returned to the expected frame rate after being paused or throttled, targetFrameRate equals Stage.frameRate.

Related API Elements

flash.display.Stage

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00