FPVideoPlayer - flashpress/FPNativeUI GitHub Wiki
import flash.events.MouseEvent;
import flash.geom.Rectangle;
import flash.system.Capabilities;
import ru.flashpress.nui.view.video.constants.FPVideoPlayerPlaybackState;
import ru.flashpress.nui.view.video.events.FPVideoPlayerEvent;
import ru.flashpress.nui.view.video.constants.FPVideoPlayerControlStyle;
import ru.flashpress.nui.FPNativeUI;
import ru.flashpress.nui.view.video.FPVideoPlayer;
FPNativeUI.init();
//
var videoBounds:Rectangle = new Rectangle(20, 20, Capabilities.screenResolutionX-40, 400);
var player:FPVideoPlayer = new FPVideoPlayer();
player.frame = videoBounds;
player.clearAllBackground();
player.backgroundColor = 0x999999;
player.backgroundAlpha = 0.5;
//
player.addEventListener(FPVideoPlayerEvent.SOURCE_TYPE_AVAILABLE, videoHandler);
player.addEventListener(FPVideoPlayerEvent.DURATION_AVAILABLE, videoHandler);
player.addEventListener(FPVideoPlayerEvent.MEDIA_TYPES_AVAILABLE, videoHandler);
player.addEventListener(FPVideoPlayerEvent.NATURAL_SIZE_AVAILABLE, videoHandler);
player.addEventListener(FPVideoPlayerEvent.PLAYBACK_STATE_DID_CHANGE, videoHandler);
player.addEventListener(FPVideoPlayerEvent.LOAD_STATE_DID_CHANGE, videoHandler);
player.addEventListener(FPVideoPlayerEvent.READY_FOR_DISPLAY_DID_CHANGE, videoHandler);
player.addEventListener(FPVideoPlayerEvent.WILL_EXIT_FULLSCREEN, videoHandler);
player.addEventListener(FPVideoPlayerEvent.DID_EXIT_FULLSCREEN, videoHandler);
player.addEventListener(FPVideoPlayerEvent.WILL_ENTER_FULLSCREEN, videoHandler);
player.addEventListener(FPVideoPlayerEvent.DID_ENTER_FULLSCREEN, videoHandler);
//
player.controlStyle = FPVideoPlayerControlStyle.EMBEDDED;
player.url = 'http://flashpress.ru/video3.mov';
player.autoplay = true;
player.load();
player.stage.addChild(player);
function videoHandler(event:FPVideoPlayerEvent):void
{
switch (event.type) {
case FPVideoPlayerEvent.SOURCE_TYPE_AVAILABLE:
trace(' sourceType:', player.sourceType);
break;
case FPVideoPlayerEvent.DURATION_AVAILABLE:
trace(' duration:', player.duration);
break;
case FPVideoPlayerEvent.MEDIA_TYPES_AVAILABLE:
trace(' mediaTypes:', player.mediaTypes);
break;
case FPVideoPlayerEvent.NATURAL_SIZE_AVAILABLE:
trace(' size:', player.naturalSize);
break;
case FPVideoPlayerEvent.PLAYBACK_STATE_DID_CHANGE:
trace(' playbackState:', player.playbackState);
playbackState();
break;
case FPVideoPlayerEvent.LOAD_STATE_DID_CHANGE:
trace(' loadState:', player.loadState);
break;
case FPVideoPlayerEvent.READY_FOR_DISPLAY_DID_CHANGE:
trace(' readyForDisplay:', player.readyForDisplay);
break;
}
}
function playbackState():void
{
switch (player.playbackState) {
case FPVideoPlayerPlaybackState.PAUSED:
player.setFullscreen(false);
break;
}
}
this.stage.addEventListener(MouseEvent.CLICK, stageClickHandler);
function stageClickHandler(event:MouseEvent):void
{
player.setFullscreen(true);
if (player.playbackState != FPVideoPlayerPlaybackState.PLAYING) {
player.play();
}
}