Packageimpression.players.sequencers
Classpublic class AudioSequencer
InheritanceAudioSequencer Inheritance BasePlayer Inheritance flash.events.EventDispatcher

The AudioSequencer class supports the playback of audio sequencer storybords. An audio sequencer storyboard includes an audio file, a set of project-specific properties, and any number of child elements. As the audio file plays, the AudioSequencer periodically examines each child element's position and complete persisted properties. If the position of the sound file is greater than the value of the position persisted property, and the complete persisted property value is false, the AudioSequencer will dispatch a CueEvent.CUE event to notify the shell that an action should occur.

Like all sequencer classes, the exact data and behavior is project-defined. The AudioSequencer class provides only the minimum functionality needed to perform actions synchronized with an audio file.



Public Properties
 PropertyDefined By
 InheritedalwaysCheckComplete : Boolean
Specifies how the object should handle storyboard completion.
BasePlayer
  context : SoundLoaderContext
The SoundLoaderContext to use with the sequencer.
AudioSequencer
  interval : Number
The frequency, in milliseconds, that the sequencer will use to check the child elements of the current storyboard.
AudioSequencer
 InheritednarrationComplete : Boolean
Indicates whether narration has finished playing.
BasePlayer
  position : Number
Returns or sets the position in the audio file.
AudioSequencer
  resolver : AssetResolver
The AssetResolver to use to request audio files.
AudioSequencer
  soundTransform : SoundTransform
The SoundTransform object to use when playing an audio file.
AudioSequencer
  status : String
[read-only] The current status of the sequencer.
AudioSequencer
  storyboard : Storyboard
[override] Specifies the storyboard for the player.
AudioSequencer
  useLastPosition : Boolean
Indicates whether or not the last position should be used to begin audio playback of a previously loaded storyboard.
AudioSequencer
Public Methods
 MethodDefined By
  
AudioSequencer(resolver:AssetResolver = null, context:SoundLoaderContext = null, transform:SoundTransform = null)
Creates a new instance of the AudioSequencer.
AudioSequencer
 Inherited
Causes the player to examine the completion criteria for the current storyboard.
BasePlayer
  
[static]
AudioSequencer
  
pause():void
Pauses or resumes playback of the audio file.
AudioSequencer
  
play():void
Begins or resumes playback of the audio file.
AudioSequencer
  
[static] Removes all properties set by the player.
AudioSequencer
  
setStoryboardState(sb:Storyboard, state:String):void
[static]
AudioSequencer
  
stop():void
Stops playback of the audio file and sets the position property value to 0.
AudioSequencer
Protected Methods
 MethodDefined By
 Inherited
Initializes the storyboard.
BasePlayer
  
[override] Loads the storyboard.
AudioSequencer
  
[override] Removes known completion criteria from the CompleteRemaining storyboard persisted property.
AudioSequencer
  
[override] Performs cleanup actions when a storyboard is unloaded.
AudioSequencer
Events
 Event Summary Defined By
 InheritedDispatched when the BasePlayer needs to resolve completion criteria beyond those defined for the class.BasePlayer
 InheritedDispatched when a storyboard is marked as complete.BasePlayer
  Dispatched when the sequencer begins to load external assets.AudioSequencer
  Dispatched when all external assets have finished loading.AudioSequencer
  Dispatched when a sequencer element should be processed.AudioSequencer
 InheritedDispatched after a storyboard is initialized.BasePlayer
 InheritedDispatched when storyboard loading is complete.BasePlayer
 InheritedDispatched when a storyboard is loaded, but before any processing occurs.BasePlayer
  Dispatched when the status of the sequencer changes.AudioSequencer
  Dispatched when the audio has finished playing.AudioSequencer
  Dispatched when the internal timer fires.AudioSequencer
 InheritedDispatched before a storyboard is unloaded.BasePlayer
Property Detail
contextproperty
context:SoundLoaderContext

The SoundLoaderContext to use with the sequencer. This object is passed to the constructor of the internal SoundEx object when an audio file is loaded.


Implementation
    public function get context():SoundLoaderContext
    public function set context(value:SoundLoaderContext):void
intervalproperty 
interval:Number

The frequency, in milliseconds, that the sequencer will use to check the child elements of the current storyboard.

The default value is 100.


Implementation
    public function get interval():Number
    public function set interval(value:Number):void
positionproperty 
position:Number

Returns or sets the position in the audio file.

When this property value is set, and the status property value is SequencerStatusTypes.PLAYING, playback stops and the status is changed to SequencerStatusTypes.PAUSED. If the status property value is SequencerStatusTypes.STOPPED, SequencerStatusTypes.EOF, or SequencerStatusTypes.LOAD_COMPLETE, the status is changed to SequencerStatusTypes.PAUSED. If the status is not one of the values listed above, an error is thrown.


Implementation
    public function get position():Number
    public function set position(value:Number):void

Throws
ArgumentError — cannot set position when status is [status] (ArgumentError).
 
RangeError — position cannot be set < 0 (RangeError).
resolverproperty 
resolver:AssetResolver

The AssetResolver to use to request audio files. When this value is set to a non-null value, the sequencer registers itself with the resolver as an owner, and all content requested is requested using itself as the owner.

If the sequencer is currently loading content, all load actions in progress will be cancelled when this property is set. When removing the references to an existing resolver, the sequencer will unregister itself as an owner. If the new property value is not null, the sequencer will register itself as an owner.


Implementation
    public function get resolver():AssetResolver
    public function set resolver(value:AssetResolver):void
soundTransformproperty 
soundTransform:SoundTransform

The SoundTransform object to use when playing an audio file. This object is passed to the internal SoundEx object.


Implementation
    public function get soundTransform():SoundTransform
    public function set soundTransform(value:SoundTransform):void
statusproperty 
status:String  [read-only]

The current status of the sequencer. This value will be one of the SequencerStatusTypes constant values.


Implementation
    public function get status():String

See also

storyboardproperty 
storyboard:Storyboard[override]

Specifies the storyboard for the player.

If null is passed, the current storyboard is unloaded, the StoryboardEvent.UNLOAD event is dispatched, and no further action occurs.

If a non- null storyboard object is passed, the following actions occur, in order:

  1. If the previously loaded storyboard is not null, the StoryboardEvent.UNLOAD event is dispatched. If the event is not cancelled, the current storyboard is unloaded. If the event is cancelled, further processing stops.
  2. The StoryboardEvent.LOAD_START event is dispatched. If the event is not cancelled, the new storyboard is associated with the player. If the event is cancelled, further processing stops and the value of this property is set to null.
  3. If the value of the new storyboard's Initialized persisted property is false, the storyboard is initialized and the StoryboardEvent.INITIALIZE event is dispatched.
  4. If an audio file is specified, content load begins, and the contentLoadBegin event is dispatched.
  5. If the audio file finishes loading, the contentLoadEnd event is dispatched, followed by the loadComplete event.
  6. If the loadComplete event was dispatched, the checkForComplete() method is invoked. If all completion criteria have been met, the complete event is dispatched.

Note that the AudioSequencer may raise one or move SequencerStatusEvent.STATUS_CHANGED events during storyboard load. If the resolver property is null, the audio file will not be rendered, and no error will occur.


Implementation
    public function get storyboard():Storyboard
    public function set storyboard(value:Storyboard):void

See also

SequencerStatusTypes
BasePlayer.unload
BasePlayer.loadStart
BasePlayer.initialize
contentLoadBegin
contentLoadEnd
BasePlayer.loadComplete
BasePlayer.checkForComplete()
BasePlayer.complete
useLastPositionproperty 
useLastPosition:Boolean

Indicates whether or not the last position should be used to begin audio playback of a previously loaded storyboard.

The default value is false.


Implementation
    public function get useLastPosition():Boolean
    public function set useLastPosition(value:Boolean):void
Constructor Detail
AudioSequencer()Constructor
public function AudioSequencer(resolver:AssetResolver = null, context:SoundLoaderContext = null, transform:SoundTransform = null)

Creates a new instance of the AudioSequencer.

Parameters
resolver:AssetResolver (default = null) — The AssetResolver to use to request external assets.
 
context:SoundLoaderContext (default = null) — The SoundLoaderContext object to be associated with the loader used to open the audio file.
 
transform:SoundTransform (default = null) — The SoundTransform object to be used with the sound channel used by the audio file.
Method Detail
getStoryboardState()method
public static function getStoryboardState(sb:Storyboard):String

Parameters

sb:Storyboard

Returns
String
loadStoryboard()method 
override protected function loadStoryboard():void

Loads the storyboard.

This method is invoked by the storyboard property set method. Unlike other player classes, this method is invoked even if a null storyboard object is loaded. This method is invoked after initialization (if needed) occurs.

When loading a storyboard, the AudioSequencer performs the following actions:

See also

BasePlayer.loadStoryboard()
SequencerStatusTypes
pause()method 
public function pause():void

Pauses or resumes playback of the audio file.

If the status property value is SequencerStatusTypes.PAUSED, this method resumes playback of the audio file from the value of position. If the status property value is one of the following, this method pauses playback of the audio file at the current position:

For all other status property values, invoking this method has no effect.

If this method pauses playback, the player will dispatch the SequencerStatusEvent.STATUS_CHANGE event.

See also

play()method 
public function play():void

Begins or resumes playback of the audio file.

If the status property value is SequencerStatusTypes.PAUSED, this method resumes playback of the audio file from the value of position. If the status property value is one of the following, this method begins playback of the audio file from the beginning:

For all other status property values, invoking this method has no effect.

If this method begins playback, the player will dispatch the SequencerStatusEvent.STATUS_CHANGE event.

See also

removeCompleteRemainingCriteria()method 
override protected function removeCompleteRemainingCriteria():void

Removes known completion criteria from the CompleteRemaining storyboard persisted property.

This method is invoked by the checkForComplete() method if the value of the storyboard property is not null, and the complete event has not been dispatched since the storyboard was loaded.

In addition to the substrings processed by the BasePlayer, the AudioSequencer will remove the following substrings from the completeRemaining persisted property:

SubstringMeaning
commandObjectsComplete;All child elements have a Complete persisted property value of true.

See also

BasePlayer.removeCompleteRemainingCriteria()
resetStoryboard()method 
public static function resetStoryboard(sb:Storyboard):void

Removes all properties set by the player.

Note that this method also removes interim completion properties used by the player, but not necessarily set by the player.

Parameters

sb:Storyboard — The storyboard to remove properties from.

This method removes the following properties from a storyboard:

  • Initialized
  • CompleteRemaining
  • Complete
  • NarrationComplete
  • The Complete property of each ChildElement object in the storyboard's Commands ChildElementCollection property, if it exists.
  • LastPosition

This method removes the following properties from each ChildElement in the storyboard's children collection:

  • Complete

setStoryboardState()method 
public static function setStoryboardState(sb:Storyboard, state:String):void

Parameters

sb:Storyboard
 
state:String

stop()method 
public function stop():void

Stops playback of the audio file and sets the position property value to 0.

If the status property value is not SequencerStatusTypes.PAUSED, SequencerStatusTypes.PLAYING, SequencerStatusTypes.EOF, or SequencerStatusTypes.LOAD_COMPLETE, invoking this method has no effect.

If this method stops playback, the player will dispatch the SequencerStatusEvent.STATUS_CHANGE event.

See also

unloadStoryboard()method 
override protected function unloadStoryboard():void

Performs cleanup actions when a storyboard is unloaded.

This method is invoked by the storyboard property set method when the current value of the property is not null and the unload event has not been cancelled.

When unloading a storyboard, the AudioSequencer performs the following actions:

See also

BasePlayer.unloadStoryboard()
Event Detail
contentLoadBegin Event
Event Object Type: impression.events.StoryboardEvent
StoryboardEvent.type property = impression.events.StoryboardEvent.CONTENT_LOAD_BEGIN

Dispatched when the sequencer begins to load external assets.

This event is dispatched when the storyboard property is set to a non-null value.

This event will occur if any external assets are defined, even if they cannot be loaded. This event is dispatched when the resolverInfo object whose owner property value is the player dispatches its beginTransaction event.

The StoryboardEvent.CONTENT_LOAD_BEGIN constant defines the value of the type property of a content load begin event object. This event has the following properties:
PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe object that raised the event.
sbThe Storyboard object assigned to the target.
contentLoadEnd Event  
Event Object Type: impression.events.StoryboardEvent
StoryboardEvent.type property = impression.events.StoryboardEvent.CONTENT_LOAD_END

Dispatched when all external assets have finished loading.

This event will occur if any external assets are defined, even if they cannot be loaded. This event is dispatched when the resolverInfo object whose owner property value is the player dispatches its endTransaction event.

The StoryboardEvent.CONTENT_LOAD_END constant defines the value of the type property of a content load end event object. This event has the following properties:
PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe object that raised the event.
sbThe Storyboard object assigned to the target.
cue Event  
Event Object Type: impression.events.CueEvent
CueEvent.type property = impression.events.CueEvent.CUE

Dispatched when a sequencer element should be processed.

This event is dispatched when the sequencer's status property is SequencerStatusTypes.PLAYING and a child element object's Position persisted property value is <= the value of the sequencer's position property value and the element's Complete persisted property value is false. A CueEvent.CUE event is dispatched for each child element that meets this criteria.

Note that the child elements in the storyboard's children collection are sorted by the value of their Position persisted property value each time the storyboard is loaded; this ensures that the cue events occur "in order".

The CueEvent.CUE constant defines the value of the type property of an cue event object. This event has the following properties:
PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe object that raised the event.
sbThe Storyboard object assigned to the target.
currentPositionThe value of the position property of the ChildElement object that triggered the event.
childElementThe ChildElement object that triggered the event.
completeIndicates whether or not the childElement parameter's complete persisted property should be set to true when the event returns.
sequencerStatusChanged Event  
Event Object Type: impression.events.SequencerStatusEvent
SequencerStatusEvent.type property = impression.events.SequencerStatusEvent.STATUS_CHANGED

Dispatched when the status of the sequencer changes.

The SequencerStatusEvent.STATUS_CHANGED constant defines the value of the type property of a status changed event object. This event has the following properties:
PropertyValue
bubblesfalse
cancelablefalse; there is no default behavior to cancel.
currentTargetThe object that is actively processing the Event object with an event listener.
targetThe object that raised the event.
sbThe Storyboard object assigned to the target.
statusThe status of the sequencer.
textAdditional information about the status.
soundComplete Event  
Event Object Type: flash.events.Event
Event.type property = flash.events.Event.SOUND_COMPLETE

Dispatched when the audio has finished playing.

timer Event  
Event Object Type: flash.events.TimerEvent
TimerEvent.type property = flash.events.TimerEvent.TIMER

Dispatched when the internal timer fires. This event is dispatched when the sequencer's status property is SequencerStatusTypes.PLAYING, before any CueEvent.CUE events are dispatched.