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 

VideoElement  - AS3 OSMF

Packageorg.osmf.elements
Classpublic class VideoElement
InheritanceVideoElement Inheritance LightweightVideoElement Inheritance LoadableElementBase Inheritance MediaElement Inheritance EventDispatcher Inheritance Object

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

VideoElement is a media element specifically created for video playback. It supports streaming and progressive formats, as well as HTTP streaming and MBR streaming (for both RTMP and HTTP).

VideoElement is a more full-featured alternative to LightweightVideoElement. Whereas LightweightVideoElement supports only a subset of video delivery modes (specifically progressive and simple RTMP streaming), VideoElement supports all video delivery modes.

The VideoElement uses a NetLoader class to load and unload its media. Developers requiring custom loading logic for video can pass their own loaders to the LightweightVideoElement constructor. These loaders should subclass NetLoader.

The basic steps for creating and using a LightweightVideoElement are:

  1. Create a new URLResource pointing to the URL of the video stream or file containing the video to be loaded.
  2. Create a new NetLoader.
  3. Create the new VideoElement, passing the NetLoader and URLResource as parameters.
  4. Create a new MediaPlayer.
  5. Assign the VideoElement to the MediaPlayer's media property.
  6. Control the media using the MediaPlayer's methods, properties, and events.
  7. When done with the VideoElement, set the MediaPlayer's media property to null. This will unload the VideoElement.

The VideoElement supports Flash Media Token Authentication, for passing authentication tokens through the NetConnection.

The VideoElement has support for the Flash Player's DRM implementation. Note that the startDate, endDate, and period properties of the DRMTrait on this element correspond to the voucher validity before playback starts. Once playback begins, these properties correspond to the playback time window (as found on flash.net.drm.DRMVoucher).

View the examples

Related API Elements



Public Properties
 PropertyDefined By
 Inheritedclient : NetClient
[read-only] The NetClient used by this object's NetStream.
LightweightVideoElement
 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
 InheritedcurrentFPS : Number
[read-only] The number of frames per second being displayed.
LightweightVideoElement
 Inheriteddeblocking : int
Indicates the type of filter applied to decoded video as part of post-processing.
LightweightVideoElement
 InheriteddefaultDuration : Number
Defines the duration that the element's TimeTrait will expose until the element's content is loaded.
LightweightVideoElement
 InheritedmetadataNamespaceURLs : Vector.<String>
[read-only] A Vector containing the namespace URLs for all Metadata objects stored within this MediaElement.
MediaElement
 Inheritedresource : MediaResourceBase
The media resource that this media element operates on.
MediaElement
 Inheritedsmoothing : Boolean
Specifies whether the video should be smoothed (interpolated) when it is scaled.
LightweightVideoElement
 InheritedtraitTypes : Vector.<String>
[read-only] A Vector of MediaTraitType values representing the trait types on this media element.
MediaElement
Protected Properties
 PropertyDefined By
 Inheritedloader : LoaderBase
The LoaderBase used by this element to load resources.
LoadableElementBase
Public Methods
 MethodDefined By
  
VideoElement(resource:MediaResourceBase = null, loader:NetLoader = null)
Constructor.
VideoElement
 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
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
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
Subclasses can override this method to return a custom LoadTrait subclass.
LoadableElementBase
 Inherited
Subclasses can override this method to do processing when the media element enters the LOADING state.
LoadableElementBase
 Inherited
Subclasses can override this method to do processing when the media element enters the READY state.
LoadableElementBase
 Inherited
Subclasses can override this method to do processing when the media element enters the UNLOADING state.
LoadableElementBase
 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

VideoElement

()Constructor
public function VideoElement(resource:MediaResourceBase = null, loader:NetLoader = null)

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

Constructor.

Parameters
resource:MediaResourceBase (default = null) — URLResource that points to the video source that the VideoElement will use. For dynamic streaming content, use a DynamicStreamingResource.
 
loader:NetLoader (default = null) — NetLoader used to load the video. If null, the appropriate NetLoader will be created based on the resource type.

Throws
ArgumentError — If resource is not an URLResource.
VideoElementExample.as

package
{
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    
    import org.osmf.elements.VideoElement;
    import org.osmf.media.MediaPlayer;
    import org.osmf.media.MediaPlayerSprite;
    import org.osmf.media.URLResource;
    import org.osmf.net.DynamicStreamingItem;
    import org.osmf.net.DynamicStreamingResource;
    
    public class VideoElementExample extends Sprite
    {
        public function VideoElementExample()
        {
            super();
            
            stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.align = StageAlign.TOP_LEFT;
            
            var mediaPlayerSprite:MediaPlayerSprite = new MediaPlayerSprite();
            var videoElement:VideoElement = new VideoElement();
            var dynResource:DynamicStreamingResource = new DynamicStreamingResource("rtmp://cp67126.edgefcs.net/ondemand");
            
            dynResource.streamItems = Vector.<DynamicStreamingItem>(
                [     new DynamicStreamingItem("mp4:mediapm/ovp/content/demo/video/elephants_dream/elephants_dream_768x428_24.0fps_408kbps.mp4", 408, 768, 428)
                    , new DynamicStreamingItem("mp4:mediapm/ovp/content/demo/video/elephants_dream/elephants_dream_768x428_24.0fps_608kbps.mp4", 608, 768, 428)
                    , new DynamicStreamingItem("mp4:mediapm/ovp/content/demo/video/elephants_dream/elephants_dream_1024x522_24.0fps_908kbps.mp4", 908, 1024, 522)
                    , new DynamicStreamingItem("mp4:mediapm/ovp/content/demo/video/elephants_dream/elephants_dream_1024x522_24.0fps_1308kbps.mp4", 1308, 1024, 522)
                    , new DynamicStreamingItem("mp4:mediapm/ovp/content/demo/video/elephants_dream/elephants_dream_1280x720_24.0fps_1708kbps.mp4", 1708, 1280, 720)
                ]);
            
            videoElement.resource = dynResource;
            
            addChild(mediaPlayerSprite);
            mediaPlayerSprite.media = videoElement;    
        }    
    }
}