Package | org.osmf.elements |
Class | public class SerialElement |
Inheritance | SerialElement CompositeElement MediaElement EventDispatcher Object |
Language Version: | ActionScript 3.0 |
Product Version: | OSMF 1.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
The media elements that make up a SerialElement are treated as a single, unified media element. For example, if a SerialElement encapsulates a sequence of videos, the SerialElement will behave as if it's a single VideoElement, but one which plays several videos in sequence.
Typically, a trait on a SerialElement is a reflection of the "current" child of the composition. A SerialElement plays through its children in serial order. As the current child completes its execution, the next child in the sequence becomes the "current" child. To a client of the class, the changes from one current child to the next are hidden. They are only noticeable through changes to the traits of this class.
A childless SerialElement has no notion of a "current" child, so it reflects no traits. The first child that is added to a SerialElement immediately becomes the current child of the composition. If the current child is removed, the next child in the sequence becomes the new current child, if there is a next child. If there is no next child, the first child in the sequence becomes the current child.
The only way that the "current" status can pass from one
child to another is when the state of one of the current child's
traits changes in such a way that the
SerialElement knows that it needs to change its current child. For
example, if each child in the sequence has the PlayTrait,
the "current" status advances from one child to the next when a
child finishes playing and its PlayTrait's PlayState
property changes from PLAYING
to STOPPED
.
Another example: if the client of a SerialElement with a SeekTrait
seeks from one point to another, the "current"
status is likely to change from one child to another.
Here is how each trait is expressed when in serial:
- AudioTrait - The composite trait keeps the audible properties of all children in sync. When the volume of a child element (or the composite element) is changed, the volume is similarly changed for all audible children (and for the composite trait).
- BufferTrait - The composite trait represents the bufferable trait of the current child in the sequence. Any changes apply only to the current child.
- DisplayObjectTrait - The composite trait represents the DisplayObjectTrait of the current child in the sequence.
- DRMTrait - The composite trait represents the DRMTrait of the current child in the sequence.
- DVRTrait - The composite trait represents the DVRTrait of the current child in the sequence.
- DynamicStreamTrait - The composite trait represents the DynamicStreamTrait of the current child in the sequence. Any changes apply only to the current child.
- LoadTrait - The composite trait represents the LoadTrait of the current child in the sequence. Any changes apply only to the current child.
- PlayTrait - The composite trait represents the PlayTrait of the current child in the sequence. Any changes apply only to the current child.
- SeekTrait - The composite trait represents the SeekTrait of the current child in the sequence. A seek operation can change the current child.
- TimeTrait - The reported duration of the TimeTrait of a SerialElement is the sum of the current child and any completed children only. The reported value does not reflect the sum of the duration of all the children.
Property | Defined By | ||
---|---|---|---|
constructor : Object
A reference to the class object or constructor function for a given object instance. | Object | ||
container : IMediaContainer [read-only]
The media container that this element uses. | MediaElement | ||
currentChild : MediaElement [read-only]
The currently active child of this SerialElement. | SerialElement | ||
metadataNamespaceURLs : Vector.<String> [read-only]
A Vector containing the namespace URLs for all Metadata
objects stored within this MediaElement. | MediaElement | ||
numChildren : int [read-only]
The number of child MediaElements in this media composition. | CompositeElement | ||
resource : MediaResourceBase
The media resource that this media element operates on. | MediaElement | ||
traitTypes : Vector.<String> [read-only]
A Vector of MediaTraitType values representing the trait types on this
media element. | MediaElement |
Method | Defined By | ||
---|---|---|---|
Constructor. | SerialElement | ||
Adds the specified child to the end of the list. | CompositeElement | ||
Adds the child to the list at the specified index. | CompositeElement | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener
receives notification of an event. | EventDispatcher | ||
Adds a Metadata object to this MediaElement under the specified namespace URL. | MediaElement | ||
Dispatches an event into the event flow. | EventDispatcher | ||
Gets the child at the specified index. | CompositeElement | ||
Returns the index of the child if it is in the list such that
getChildAt(index) == child. | CompositeElement | ||
Returns the Metadata object that is stored under this MediaElement with
the specified namespace URL. | MediaElement | ||
Returns the media trait of the specified type. | MediaElement | ||
Checks whether the EventDispatcher object has any listeners registered for a specific type
of event. | EventDispatcher | ||
Indicates whether an object has a specified property defined. | Object | ||
Determines whether this media element has a media trait of the
specified type. | MediaElement | ||
Indicates whether an instance of the Object class is in the prototype chain of the object specified
as the parameter. | Object | ||
Indicates whether the specified property exists and is enumerable. | Object | ||
Removes the specified child and returns it. | CompositeElement | ||
Removes the child at the specified index and returns it. | CompositeElement | ||
Removes a listener from the EventDispatcher object. | EventDispatcher | ||
Removes the Metadata object that was stored under this MediaElement with
the specified namespace URL. | MediaElement | ||
Sets the availability of a dynamic property for loop operations. | Object | ||
Returns the string representation of this object, formatted according to locale-specific conventions. | Object | ||
Returns the string representation of the specified object. | Object | ||
Returns the primitive value of the specified object. | Object | ||
Checks whether an event listener is registered with this EventDispatcher object or any of
its ancestors for the specified event type. | EventDispatcher |
currentChild | property |
currentChild:MediaElement
[read-only] The currently active child of this SerialElement.
Implementation
public function get currentChild():MediaElement
SerialElement | () | Constructor |
public function SerialElement()
Language Version: | ActionScript 3.0 |
Product Version: | OSMF 1.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
Constructor.
package { import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import org.osmf.elements.LightweightVideoElement; import org.osmf.elements.SerialElement; import org.osmf.media.MediaPlayerSprite; import org.osmf.media.URLResource; public class SerialElementExample extends Sprite { public function SerialElementExample() { super(); stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; var mediaPlayerSprite:MediaPlayerSprite = new MediaPlayerSprite(); var serialElement:SerialElement = new SerialElement(); var videoElement:LightweightVideoElement = new LightweightVideoElement(); videoElement.resource = new URLResource("http://mediapm.edgesuite.net/strobe/content/test/AFaerysTale_sylviaApostol_640_500_short.flv"); var videoElement2:LightweightVideoElement = new LightweightVideoElement(); videoElement2.resource = new URLResource("http://mediapm.edgesuite.net/strobe/content/test/elephants_dream_768x428_24_short.flv"); serialElement.addChild(videoElement); serialElement.addChild(videoElement2); addChild(mediaPlayerSprite); mediaPlayerSprite.media = serialElement; } } }
Wed Nov 21 2018, 06:34 AM -08:00