org.osmf.elements

# VideoElement - AS3 OSMF

Package | org.osmf.elements
Class | public class VideoElement
Inheritance | VideoElement LightweightVideoElement LoadableElementBase MediaElement EventDispatcher 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

org.osmf.elements.LightweightVideoElement
org.osmf.media.URLResource
org.osmf.media.MediaElement
org.osmf.media.MediaPlayer
org.osmf.net.NetLoader
flash.net.drm.DRMVoucher

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | client : NetClient [read-only] The NetClient used by this object's NetStream. | LightweightVideoElement
|  | 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
|  | currentFPS : Number [read-only] The number of frames per second being displayed. | LightweightVideoElement
|  | deblocking : int Indicates the type of filter applied to decoded video as part of post-processing. | LightweightVideoElement
|  | defaultDuration : Number Defines the duration that the element's TimeTrait will expose until the element's content is loaded. | LightweightVideoElement
|  | metadataNamespaceURLs : Vector.<String> [read-only] A Vector containing the namespace URLs for all Metadata objects stored within this MediaElement. | MediaElement
|  | resource : MediaResourceBase The media resource that this media element operates on. | MediaElement
|  | smoothing : Boolean Specifies whether the video should be smoothed (interpolated) when it is scaled. | LightweightVideoElement
|  | traitTypes : Vector.<String> [read-only] A Vector of MediaTraitType values representing the trait types on this media element. | MediaElement

Protected Properties
Hide Inherited Protected Properties
Show Inherited Protected Properties

| Property | Defined By
--- | --- | ---
|  | loader : LoaderBase The LoaderBase used by this element to load resources. | LoadableElementBase

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | VideoElement(resource:MediaResourceBase = null, loader:NetLoader = null) Constructor. | VideoElement
|  | 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
|  | addMetadata(namespaceURL:String, metadata:Metadata):void Adds a Metadata object to this MediaElement under the specified namespace URL. | MediaElement
|  | dispatchEvent(event:Event):Boolean Dispatches an event into the event flow. | EventDispatcher
|  | getMetadata(namespaceURL:String):Metadata Returns the Metadata object that is stored under this MediaElement with the specified namespace URL. | MediaElement
|  | getTrait(type:String):org.osmf.traits:MediaTraitBase Returns the media trait of the specified type. | MediaElement
|  | hasEventListener(type:String):Boolean Checks whether the EventDispatcher object has any listeners registered for a specific type of event. | EventDispatcher
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | hasTrait(type:String):Boolean Determines whether this media element has a media trait of the specified type. | MediaElement
|  | 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
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void Removes a listener from the EventDispatcher object. | EventDispatcher
|  | removeMetadata(namespaceURL:String):Metadata Removes the Metadata object that was stored under this MediaElement with the specified namespace URL. | MediaElement
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object
|  | willTrigger(type:String):Boolean Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type. | EventDispatcher

Protected Methods
Hide Inherited Protected Methods
Show Inherited Protected Methods

| Method | Defined By
--- | --- | ---
|  | addTrait(type:String, instance:org.osmf.traits:MediaTraitBase):void Adds a new media trait to this media element. | MediaElement
|  | createLoadTrait(resource:MediaResourceBase, loader:LoaderBase):org.osmf.traits:LoadTrait Subclasses can override this method to return a custom LoadTrait subclass. | LoadableElementBase
|  | processLoadingState():void Subclasses can override this method to do processing when the media element enters the LOADING state. | LoadableElementBase
|  | processReadyState():void Subclasses can override this method to do processing when the media element enters the READY state. | LoadableElementBase
|  | processUnloadingState():void Subclasses can override this method to do processing when the media element enters the UNLOADING state. | LoadableElementBase
|  | removeTrait(type:String):org.osmf.traits:MediaTraitBase Removes a media trait from this media element. | MediaElement
|  | setupTraits():void Sets up the traits for this media element. | MediaElement

Events
Click for more information on events
Hide Inherited Events
Show Inherited Events

| Event | Summary | Defined By
--- | --- | --- | ---
|  | activate | [broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active. | EventDispatcher
|  | containerChange | Dispatched when the element's container property changed. | MediaElement
|  | deactivate | [broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive. | EventDispatcher
|  | mediaError | Dispatched when an error which impacts the operation of the media element occurs. | MediaElement
|  | mediaInfo | Dispatched when a info which impacts the operation of the media element is available. | MediaElement
|  | metadataAdd | Dispatched when a Metadata object has been added to this media element. | MediaElement
|  | metadataRemove | Dispatched when a Metadata object has been removed from this media element. | MediaElement
|  | traitAdd | Dispatched when a trait is added to the media element. | MediaElement
|  | traitRemove | Dispatched 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.

Examples How to use this example
VideoElementExample.as
Copy

    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;
            }
        }
    }

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