ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
org.osmf.elements 

ParallelElement  - AS3 OSMF

Packageorg.osmf.elements
Classpublic class ParallelElement
InheritanceParallelElement Inheritance CompositeElement Inheritance MediaElement Inheritance EventDispatcher Inheritance Object

Language Version: ActionScript 3.0
Product Version: OSMF 1.0
Runtime Versions: Flash Player 10, AIR 1.5

ParallelElement is a media composition whose elements are presented in parallel (concurrently).

The media elements that make up a ParallelElement are treated as a single, unified media element. For example, if a ParallelElement encapsulates a image and a piece of audio, the ParallelElement will behave as if it's a single MediaElement with the audio characteristics of the audio file and the display characteristics of the image file.

Typically, a trait on a ParallelElement is a composite or merged combination of that trait on all its children. When a new media element is added as a child of the media composition, either its traits or the composite's traits are adjusted to make the traits of the media composition and its children consistent.

As an example of the first case, consider AudioTrait. If a client adds a new MediaElement that has its AudioTrait volume at 0.5 to a ParallelElement that has its AudioTrait volume at 0.3, the AudioTrait volume for the child MediaElement is set to 0.3 to be consistent with ParallelElement's trait.

As an example of the second case, consider BufferTrait. If the added MediaElement has a BufferTrait, the ParallelElement's BufferTrait may need to "grow" if the new MediaElement has a larger buffer than any of its other children. In this case, the buffer of the ParallelElement adjusts to the size of its new child.

Here is how each trait is expressed when in parallel:
  • 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 is buffering if any child is buffering. Its length and size are the length and size of the child with the longest buffer. Its starting position is the minimum (earliest) starting position of all of its children.
  • DisplayObjectTrait - If one or more of the composite’s children has the DisplayObjectTrait, the composite trait’s spatial dimensions are defined by the bounding box of the DisplayObject referenced by the displayObject property of the composite's DisplayObjectTrait. If none of the composite’s children has the DisplayObjectTrait, the composite trait's mediaWidth is the width of its widest child and its mediaHeight is the height of its tallest child.
  • DRMTrait - The composite trait attempts to keep the DRM state of all children in sync. When a child element is authenticated, all DRM-enabled children are simultaneously authenticated.
  • DVRTrait - The composite trait attempts to keep the DVR state of all children in sync.
  • DynamicStreamTrait - The composite trait attempts to keep the dynamic streaming state of all children in sync. Specifically, it attempts to keep the autoSwitch property the same for all elements, and the current stream items within a similar bitrate range.
  • LoadTrait - The composite trait keeps the load state of all children in sync. When a child element (or the composite element) is loaded, all loadable children (and the composite element) are simultaneously loaded.
  • PlayTrait - The composite trait keeps the pause and play states of all children in sync. When a child element (or the composite element) is paused, all pausable children (and the composite element) are simultaneously paused. When a child element (or the composite element) is played, all playable children (and the composite element) are simultaneously played.
  • SeekTrait - The composite trait keeps the seek state of all children in sync. When a child element (or the composite element) performs a seek, all seekable children (and the composite element) simultaneously perform that same seek.
  • TimeTrait - The composite trait represents a timeline that encapsulates the timelines of all children. Its duration is the maximum of the durations of all children. Its position is kept in sync for all children, with the obvious caveat that a child's position will never be greater than its duration.

View the examples



Public Properties
 PropertyDefined By
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 Inheritedcontainer : IMediaContainer
[read-only] The media container that this element uses.
MediaElement
 InheritedmetadataNamespaceURLs : Vector.<String>
[read-only] A Vector containing the namespace URLs for all Metadata objects stored within this MediaElement.
MediaElement
 InheritednumChildren : int
[read-only] The number of child MediaElements in this media composition.
CompositeElement
 Inheritedresource : MediaResourceBase
The media resource that this media element operates on.
MediaElement
 InheritedtraitTypes : Vector.<String>
[read-only] A Vector of MediaTraitType values representing the trait types on this media element.
MediaElement
Public Methods
 MethodDefined By
  
Constructor.
ParallelElement
 Inherited
Adds the specified child to the end of the list.
CompositeElement
 Inherited
Adds the child to the list at the specified index.
CompositeElement
 Inherited
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
 Inherited
addMetadata(namespaceURL:String, metadata:Metadata):void
Adds a Metadata object to this MediaElement under the specified namespace URL.
MediaElement
 Inherited
Dispatches an event into the event flow.
EventDispatcher
 Inherited
Gets the child at the specified index.
CompositeElement
 Inherited
Returns the index of the child if it is in the list such that getChildAt(index) == child.
CompositeElement
 Inherited
Returns the Metadata object that is stored under this MediaElement with the specified namespace URL.
MediaElement
 Inherited
Returns the media trait of the specified type.
MediaElement
 Inherited
Checks whether the EventDispatcher object has any listeners registered for a specific type of event.
EventDispatcher
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Determines whether this media element has a media trait of the specified type.
MediaElement
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Removes the specified child and returns it.
CompositeElement
 Inherited
Removes the child at the specified index and returns it.
CompositeElement
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
EventDispatcher
 Inherited
Removes the Metadata object that was stored under this MediaElement with the specified namespace URL.
MediaElement
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
 Inherited
Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type.
EventDispatcher
Protected Methods
 MethodDefined By
 Inherited
Adds a new media trait to this media element.
MediaElement
 Inherited
Removes a media trait from this media element.
MediaElement
 Inherited
Sets up the traits for this media element.
MediaElement
Events
 Event Summary Defined By
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active.EventDispatcher
 InheritedDispatched when the element's container property changed.MediaElement
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive.EventDispatcher
 InheritedDispatched when an error which impacts the operation of the media element occurs.MediaElement
 InheritedDispatched when a info which impacts the operation of the media element is available.MediaElement
 InheritedDispatched when a Metadata object has been added to this media element.MediaElement
 InheritedDispatched when a Metadata object has been removed from this media element.MediaElement
 InheritedDispatched when a trait is added to the media element.MediaElement
 InheritedDispatched when a trait is removed from the media element.MediaElement
Constructor Detail

ParallelElement

()Constructor
public function ParallelElement()

Language Version: ActionScript 3.0
Product Version: OSMF 1.0
Runtime Versions: Flash Player 10, AIR 1.5

Constructor.

ParallelElementExample.as

package
{
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    
    import org.osmf.elements.LightweightVideoElement;
    import org.osmf.elements.ParallelElement;
    import org.osmf.elements.VideoElement;
    import org.osmf.layout.LayoutMetadata;
    import org.osmf.layout.LayoutMode;
    import org.osmf.media.MediaPlayer;
    import org.osmf.media.MediaPlayerSprite;
    import org.osmf.media.URLResource;
    
    public class ParallelElementExample extends Sprite
    {
        public function ParallelElementExample()
        {
            super();
            
            stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.align = StageAlign.TOP_LEFT;
            
            var mediaPlayerSprite:MediaPlayerSprite = new MediaPlayerSprite();
            var parallelElement:ParallelElement = new ParallelElement();
                        
            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");
                        
            parallelElement.addChild(videoElement);
            parallelElement.addChild(videoElement2);
            
            // Add a vertical layout
            var layout:LayoutMetadata = new LayoutMetadata();
            layout.layoutMode = LayoutMode.VERTICAL;
            parallelElement.addMetadata(LayoutMetadata.LAYOUT_NAMESPACE, layout);            
            
            addChild(mediaPlayerSprite);
            mediaPlayerSprite.media = parallelElement;    
            
        }
    }
}