Packagefeathers.media
Classpublic class VideoPlayer
InheritanceVideoPlayer Inheritance BaseTimedMediaPlayer Inheritance BaseMediaPlayer Inheritance LayoutGroup Inheritance FeathersControl Inheritance starling.display.Sprite
Implements IVideoPlayer

Controls playback of video with a flash.net.NetStream object.

Beta Component: This is a new component, and its APIs may need some changes between now and the next version of Feathers to account for overlooked requirements or other issues. Upgrading to future versions of Feathers may involve manual changes to your code that uses this component. The Feathers deprecation policy will not go into effect until this component's status is upgraded from beta to stable.

See also

How to use the Feathers VideoPlayer component


Public Properties
 PropertyDefined By
  autoPlay : Boolean
Determines if the video starts playing immediately when the videoSource property is set.
VideoPlayer
 InheritedautoSizeMode : String
Determines how the layout group will set its own size when its dimensions (width and height) aren't set explicitly.
LayoutGroup
 InheritedbackgroundDisabledSkin : DisplayObject
The background to display behind all content when the layout group is disabled.
LayoutGroup
 InheritedbackgroundSkin : DisplayObject
The default background to display behind all content.
LayoutGroup
 InheritedclipContent : Boolean
If true, the group will be clipped to its bounds.
LayoutGroup
 InheritedcurrentTime : Number
[read-only] The current position of the playhead, in seconds.
BaseTimedMediaPlayer
 InheriteddefaultTextEditorFactory : Function
[static] A function used by all UI controls that support text editor to create an ITextEditor instance.
FeathersControl
 InheriteddefaultTextRendererFactory : Function
[static] A function used by all UI controls that support text renderers to create an ITextRenderer instance.
FeathersControl
 Inheriteddepth : int
[read-only] The component's depth in the display list, relative to the stage.
FeathersControl
 InheritedfocusIndicatorSkin : DisplayObject
If this component supports focus, this optional skin will be displayed above the component when showFocus() is called.
FeathersControl
 InheritedfocusManager : IFocusManager
FeathersControl
 InheritedfocusOwner : IFocusDisplayObject
FeathersControl
 InheritedfocusPadding : Number
Quickly sets all focus padding properties to the same value.
FeathersControl
 InheritedfocusPaddingBottom : Number
The minimum space, in pixels, between the object's bottom edge and the bottom edge of the focus indicator skin.
FeathersControl
 InheritedfocusPaddingLeft : Number
The minimum space, in pixels, between the object's left edge and the left edge of the focus indicator skin.
FeathersControl
 InheritedfocusPaddingRight : Number
The minimum space, in pixels, between the object's right edge and the right edge of the focus indicator skin.
FeathersControl
 InheritedfocusPaddingTop : Number
The minimum space, in pixels, between the object's top edge and the top edge of the focus indicator skin.
FeathersControl
  fullScreenDisplayState : String
When the video player is displayed full-screen, determines the value of the native stage's displayState property.
VideoPlayer
  globalStyleProvider : IStyleProvider
[static] The default IStyleProvider for all VideoPlayer components.
VideoPlayer
 Inheritedheight : Number
[override] The height of the component, in pixels.
FeathersControl
  hideRootWhenFullScreen : Boolean
Determines if the Starling root display object is hidden when the video player switches to full screen mode.
VideoPlayer
 InheritedincludeInLayout : Boolean
Determines if the ILayout should use this object or ignore it.
FeathersControl
 InheritedisCreated : Boolean
[read-only] Determines if the component has been initialized and validated for the first time.
FeathersControl
 InheritedisEnabled : Boolean
Indicates whether the control is interactive or not.
FeathersControl
 InheritedisFocusEnabled : Boolean
FeathersControl
  isFullScreen : Boolean
[read-only] Indicates if the video player is currently full screen or not.
VideoPlayer
 InheritedisInitialized : Boolean
[read-only] Determines if the component has been initialized yet.
FeathersControl
 InheritedisPlaying : Boolean
[read-only] Determines if the media content is currently playing.
BaseTimedMediaPlayer
 InheritedisQuickHitAreaEnabled : Boolean
Similar to mouseChildren on the classic display list.
FeathersControl
 Inheritedlayout : ILayout
Controls the way that the group's children are positioned and sized.
LayoutGroup
 InheritedlayoutData : ILayoutData
Extra parameters associated with this display object that will be used by the layout algorithm.
FeathersControl
 InheritedmaxHeight : Number
The maximum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedmaxWidth : Number
The maximum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedminHeight : Number
The minimum recommended height to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
 InheritedminTouchHeight : Number
If using isQuickHitAreaEnabled, and the hit area's height is smaller than this value, it will be expanded.
FeathersControl
 InheritedminTouchWidth : Number
If using isQuickHitAreaEnabled, and the hit area's width is smaller than this value, it will be expanded.
FeathersControl
 InheritedminWidth : Number
The minimum recommended width to be used for self-measurement and, optionally, by any code that is resizing this component.
FeathersControl
  nativeHeight : Number
[read-only] The original, native height of the loaded video.
VideoPlayer
  nativeWidth : Number
[read-only] The original, native width of the loaded video.
VideoPlayer
  netStream : NetStream
[read-only] The flash.net.NetStream object used to play the video.
VideoPlayer
 InheritednextTabFocus : IFocusDisplayObject
FeathersControl
  normalDisplayState : String
When the video player is displayed normally (in other words, when it isn't full-screen), determines the value of the native stage's displayState property.
VideoPlayer
 InheritedpreviousTabFocus : IFocusDisplayObject
FeathersControl
  soundTransform : SoundTransform
Controls properties of the currently playing audio, like volume and panning.
VideoPlayer
 InheritedstyleName : String
The concatenated styleNameList, with values separated by spaces.
FeathersControl
 InheritedstyleNameList : TokenList
[read-only] Contains a list of all "styles" assigned to this control.
FeathersControl
 InheritedstyleProvider : IStyleProvider
When a component initializes, a style provider may be used to set properties that affect the component's visual appearance.
FeathersControl
  texture : Texture
[read-only] The texture used to display the video.
VideoPlayer
 InheritedtotalTime : Number
[read-only] The maximum position of the playhead, in seconds.
BaseTimedMediaPlayer
  videoSource : String
A string representing the video URL or any other accepted value that may be passed to the play() function of a NetStream object.
VideoPlayer
 Inheritedwidth : Number
[override] The width of the component, in pixels.
FeathersControl
Protected Properties
 PropertyDefined By
 InheritedactualHeight : Number = 0
The final height value that should be used for layout.
FeathersControl
 InheritedactualWidth : Number = 0
The final width value that should be used for layout.
FeathersControl
 InheriteddefaultStyleProvider : IStyleProvider
[read-only] When the FeathersControl constructor is called, the globalStyleProvider property is set to this value.
FeathersControl
 InheritedexplicitHeight : Number = NaN
The height value explicitly set by calling the height setter or setSize().
FeathersControl
 InheritedexplicitWidth : Number = NaN
The width value explicitly set by calling the width setter or setSize().
FeathersControl
 Inheriteditems : Vector.<DisplayObject>
The items added to the group.
LayoutGroup
 InheritedviewPortBounds : ViewPortBounds
The view port bounds result object passed to the layout.
LayoutGroup
Public Methods
 MethodDefined By
  
Constructor.
VideoPlayer
 Inherited
hideFocus():void
If the visual indicator of focus has been displayed by showFocus(), call this function to hide it.
FeathersControl
 Inherited
invalidate(flag:String):void
Call this function to tell the UI control that a redraw is pending.
FeathersControl
 Inherited
isInvalid(flag:String = null):Boolean
Indicates whether the control is pending validation or not.
FeathersControl
 Inherited
move(x:Number, y:Number):void
Sets both the x and the y positions of the control in a single function call.
FeathersControl
 Inherited
pause():void
Pauses the media content.
BaseTimedMediaPlayer
 Inherited
play():void
Plays the media content.
BaseTimedMediaPlayer
 Inherited
Readjusts the layout of the group according to its current content.
LayoutGroup
 Inherited
seek(seconds:Number):void
Seeks the media content to a specific position, in seconds.
BaseTimedMediaPlayer
 Inherited
setSize(width:Number, height:Number):void
Sets both the width and the height of the control in a single function call.
FeathersControl
 Inherited
showFocus():void
If the object has focus, an additional visual indicator may optionally be displayed to highlight the object.
FeathersControl
 Inherited
stop():void
Stops the media content and returns the playhead to the beginning.
BaseTimedMediaPlayer
  
Goes to full screen or returns to normal display.
VideoPlayer
 Inherited
Toggles the media content between playing and paused states.
BaseTimedMediaPlayer
 Inherited
validate():void
Immediately validates the display object, if it is invalid.
FeathersControl
Protected Methods
 MethodDefined By
 Inherited
clearInvalidationFlag(flag:String):void
Clears an invalidation flag.
FeathersControl
 Inherited
draw():void
Override to customize layout and to adjust properties of children.
FeathersControl
 Inherited
focusInHandler(event:Event):void
Default event handler for FeathersEventType.FOCUS_IN that may be overridden in subclasses to perform additional actions when the component receives focus.
FeathersControl
 Inherited
focusOutHandler(event:Event):void
Default event handler for FeathersEventType.FOCUS_OUT that may be overridden in subclasses to perform additional actions when the component loses focus.
FeathersControl
 Inherited
initialize():void
Called the first time that the UI control is added to the stage, and you should override this function to customize the initialization process.
FeathersControl
 Inherited
pauseMedia():void
Internal function that pauses the media content.
BaseTimedMediaPlayer
 Inherited
playMedia():void
Internal function that starts playing the media content.
BaseTimedMediaPlayer
 Inherited
Choose the appropriate background skin based on the control's current state.
LayoutGroup
 Inherited
Updates the focus indicator skin by showing or hiding it and adjusting its position and dimensions.
FeathersControl
 Inherited
Refreshes the values in the viewPortBounds variable that is passed to the layout.
LayoutGroup
 Inherited
seekMedia(seconds:Number):void
Internal function that seeks the media content to a specific playhead time, in seconds.
BaseTimedMediaPlayer
 Inherited
setInvalidationFlag(flag:String):void
Sets an invalidation flag.
FeathersControl
 Inherited
setSizeInternal(width:Number, height:Number, canInvalidate:Boolean):Boolean
Sets the width and height of the control, with the option of invalidating or not.
FeathersControl
Events
 Event Summary Defined By
 InheritedDispatched when the media completes playback because the current time has reached the total time.BaseTimedMediaPlayer
 InheritedDispatched after the component has validated for the first time.FeathersControl
 InheritedDispatched when the media player's current playhead time changes.BaseTimedMediaPlayer
  Dispatched when the original native width or height of the video content is calculated.VideoPlayer
  Dispatched when the media player changes to the full-screen display mode or back to the normal display mode.VideoPlayer
 InheritedDispatched after initialize() has been called, but before the first time that draw() has been called.FeathersControl
  Dispatched when the flash.net.NetStream object dispatches flash.events.IOErrorEvent.IO_ERROR.VideoPlayer
 InheritedDispatched when the media player's playback state changes, such as when it begins playing or is paused.BaseTimedMediaPlayer
  Dispatched when the video texture is ready to be rendered.VideoPlayer
 InheritedDispatched when the width or height of the control changes.FeathersControl
  Dispatched when the media player's sound transform changes.VideoPlayer
 InheritedDispatched when the media player's total playhead time changes.BaseTimedMediaPlayer
Public Constants
 ConstantDefined By
 InheritedALTERNATE_STYLE_NAME_TOOLBAR : String = feathers-toolbar-layout-group
[static] An alternate style name to use with LayoutGroup to allow a theme to give it a toolbar style.
LayoutGroup
 InheritedAUTO_SIZE_MODE_CONTENT : String = content
[static] The layout group will auto size itself to fit its content.
LayoutGroup
 InheritedAUTO_SIZE_MODE_STAGE : String = stage
[static] The layout group will auto size itself to fill the entire stage.
LayoutGroup
 InheritedINVALIDATION_FLAG_ALL : String = all
[static] Flag to indicate that everything is invalid and should be redrawn.
FeathersControl
 InheritedINVALIDATION_FLAG_DATA : String = data
[static] Invalidation flag to indicate that the primary data displayed by the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_FOCUS : String = focus
[static] Invalidation flag to indicate that the focus of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_LAYOUT : String = layout
[static] Invalidation flag to indicate that the layout of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SCROLL : String = scroll
[static] Invalidation flag to indicate that the scroll position of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SELECTED : String = selected
[static] Invalidation flag to indicate that the selection of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SIZE : String = size
[static] Invalidation flag to indicate that the dimensions of the UI control have changed.
FeathersControl
 InheritedINVALIDATION_FLAG_SKIN : String = skin
[static] Invalidation flag to indicate that the skin of the UI control has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STATE : String = state
[static] Invalidation flag to indicate that the state has changed.
FeathersControl
 InheritedINVALIDATION_FLAG_STYLES : String = styles
[static] Invalidation flag to indicate that the styles or visual appearance of the UI control has changed.
FeathersControl
Protected Constants
 ConstantDefined By
 InheritedINVALIDATION_FLAG_CLIPPING : String = clipping
[static] Flag to indicate that the clipping has changed.
LayoutGroup
Property Detail
autoPlayproperty
autoPlay:Boolean

Determines if the video starts playing immediately when the videoSource property is set.

In the following example, automatic playback is disabled:

         videoPlayer.autoPlay = false;


Implementation
    public function get autoPlay():Boolean
    public function set autoPlay(value:Boolean):void

See also

fullScreenDisplayStateproperty 
fullScreenDisplayState:String

When the video player is displayed full-screen, determines the value of the native stage's displayState property.

Using this property, it is possible to set the native stage's displayState property to StageDisplayState.NORMAL when the video player is in full screen mode. The video player will still be displayed as a modal pop-up that fills the entire Starling stage, in this situation.

In the following example, the display state for full-screen mode is changed:

         videoPlayer.fullScreenDisplayState = StageDisplayState.FULL_SCREEN;

The default value is StageDisplayState.FULL_SCREEN_INTERACTIVE.


Implementation
    public function get fullScreenDisplayState():String
    public function set fullScreenDisplayState(value:String):void

See also

globalStyleProviderproperty 
public static var globalStyleProvider:IStyleProvider

The default IStyleProvider for all VideoPlayer components.

The default value is null.

See also

hideRootWhenFullScreenproperty 
hideRootWhenFullScreen:Boolean

Determines if the Starling root display object is hidden when the video player switches to full screen mode. By hiding the root display object, rendering performance is optimized because Starling skips a portion of the display list that is obscured by the video player.

In the following example, the root display object isn't hidden when the video player is displayed in full screen:

         videoPlayer.hideRootWhenFullScreen = false;

The default value is true.


Implementation
    public function get hideRootWhenFullScreen():Boolean
    public function set hideRootWhenFullScreen(value:Boolean):void
isFullScreenproperty 
isFullScreen:Boolean  [read-only]

Indicates if the video player is currently full screen or not. When the player is full screen, it will be displayed as a modal pop-up that fills the entire Starling stage. Depending on the value of fullScreenDisplayState, it may also change the value of the native stage's displayState property.


Implementation
    public function get isFullScreen():Boolean

See also

nativeHeightproperty 
nativeHeight:Number  [read-only]

The original, native height of the loaded video.


Implementation
    public function get nativeHeight():Number

See also

nativeWidthproperty 
nativeWidth:Number  [read-only]

The original, native width of the loaded video.


Implementation
    public function get nativeWidth():Number

See also

netStreamproperty 
netStream:NetStream  [read-only]

The flash.net.NetStream object used to play the video.


Implementation
    public function get netStream():NetStream

See also

normalDisplayStateproperty 
normalDisplayState:String

When the video player is displayed normally (in other words, when it isn't full-screen), determines the value of the native stage's displayState property.

Using this property, it is possible to set the native stage's displayState property to StageDisplayState.FULL_SCREEN_INTERACTIVE or StageDisplayState.FULL_SCREEN when the video player is not in full screen mode. This might be useful for mobile apps that should always display in full screen, while allowing a video player to toggle between filling the entire stage and displaying at a smaller size within its parent's layout.

In the following example, the display state for normal mode is changed:

         videoPlayer.fullScreenDisplayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;

The default value is StageDisplayState.NORMAL.


Implementation
    public function get normalDisplayState():String
    public function set normalDisplayState(value:String):void

See also

soundTransformproperty 
soundTransform:SoundTransform

Controls properties of the currently playing audio, like volume and panning.


Implementation
    public function get soundTransform():SoundTransform
    public function set soundTransform(value:SoundTransform):void

See also

textureproperty 
texture:Texture  [read-only]

The texture used to display the video. This texture is not automatically rendered by the VideoPlayer component. A component like an ImageLoader should be added as a child of the VideoPlayer to display the texture when it is ready.

The texture property will initially return null. Listen for Event.READY to know when a valid texture is available to render.

In the following example, a listener is added for Event.READY, and the texture is displayed by an ImageLoader component:

         function videoPlayer_readyHandler( event:Event ):void
         {
             var view:ImageLoader = new ImageLoader();
             view.source = videoPlayer.texture;
             videoPlayer.addChildAt(view, 0);
         }
         
         videoPlayer.addEventListener( Event.READY, videoPlayer_readyHandler );


Implementation
    public function get texture():Texture

See also

videoSourceproperty 
videoSource:String

A string representing the video URL or any other accepted value that may be passed to the play() function of a NetStream object.

In the following example, a video file URL is passed in:

         videoPlayer.videoSource = "http://example.com/video.m4v";


Implementation
    public function get videoSource():String
    public function set videoSource(value:String):void

See also

Constructor Detail
VideoPlayer()Constructor
public function VideoPlayer()

Constructor.

Method Detail
toggleFullScreen()method
public function toggleFullScreen():void

Goes to full screen or returns to normal display.

When the player is full screen, it will be displayed as a modal pop-up that fills the entire Starling stage. Depending on the value of fullScreenDisplayState, it may also change the value of the native stage's displayState property.

When the player is displaying normally (in other words, when it is not full screen), it will be displayed in its parent's layout like any other Feathers component.

See also

Event Detail
dimensionsChange Event
Event Object Type: starling.events.Event
Event.type property = feathers.events.MediaPlayerEventType.DIMENSIONS_CHANGE

Dispatched when the original native width or height of the video content is calculated.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
datanull
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

Dispatched when the original, native width or height of a video player's content is calculated.

See also

displayStateChange Event  
Event Object Type: starling.events.Event
Event.type property = feathers.events.MediaPlayerEventType.DISPLAY_STATE_CHANGE

Dispatched when the media player changes to the full-screen display mode or back to the normal display mode. The value of the isFullScreen property indicates if the media player is displayed in full screen mode or normally.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
datanull
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

Dispatched when a media player changes to the full-screen display mode or back to the normal display mode.

See also

ioError Event  
Event Object Type: starling.events.Event
Event.type property = starling.events.Event.IO_ERROR

Dispatched when the flash.net.NetStream object dispatches flash.events.IOErrorEvent.IO_ERROR.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
dataThe flash.events.IOErrorEvent dispatched by the flash.net.NetStream.
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

See also

ready Event  
Event Object Type: starling.events.Event
Event.type property = starling.events.Event.READY

Dispatched when the video texture is ready to be rendered. Indicates that the texture property will return a starling.textures.Texture that may be displayed in an ImageLoader or another component.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
dataThe flash.events.IOErrorEvent dispatched by the flash.net.NetStream.
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

See also

soundTransformChange Event  
Event Object Type: starling.events.Event
Event.type property = feathers.events.MediaPlayerEventType.SOUND_TRANSFORM_CHANGE

Dispatched when the media player's sound transform changes.

The properties of the event object have the following values:

PropertyValue
bubblesfalse
currentTargetThe Object that defines the event listener that handles the event. For example, if you use myButton.addEventListener() to register an event listener, myButton is the value of the currentTarget.
datanull
targetThe Object that dispatched the event; it is not always the Object listening for the event. Use the currentTarget property to always access the Object listening for the event.

Dispatched when a media player's sound transform is changed.

See also