Package | org.osmf.elements |
Class | public class VideoElement |
Inheritance | VideoElement ![]() ![]() ![]() ![]() ![]() |
Language Version: | ActionScript 3.0 |
Product Version: | OSMF 1.0 |
Runtime Versions: | Flash Player 10, AIR 1.5 |
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:
- Create a new URLResource pointing to the URL of the video stream or file containing the video to be loaded.
- Create a new NetLoader.
- Create the new VideoElement, passing the NetLoader and URLResource as parameters.
- Create a new MediaPlayer.
- Assign the VideoElement to the MediaPlayer's
media
property. - Control the media using the MediaPlayer's methods, properties, and events.
- 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).
Related API Elements
org.osmf.media.URLResource
org.osmf.media.MediaElement
org.osmf.media.MediaPlayer
org.osmf.net.NetLoader
flash.net.drm.DRMVoucher
Method | Defined By | ||
---|---|---|---|
![]() | 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 | |
![]() |
Dispatches an event into the event flow. | EventDispatcher | |
![]() |
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 | |
![]() |
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 a listener from the EventDispatcher object. | EventDispatcher | |
![]() |
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 |
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; } } }
Thu Dec 6 2018, 01:12 PM -08:00