VideoPlayer will be officially released in Feathers 2.2. I can't yet estimate a release date. I've been working on a lot of things for this version, and I still have many things to finish up.
You can try out VideoPlayer now. Things should be mostly working. However, the documentation isn't complete, and the APIs aren't necessarily final. Here's some code that I've been testing things with:
var player:VideoPlayer = new VideoPlayer();
player.move(50, 20);
player.setSize(300, 300);
var controls:LayoutGroup = new LayoutGroup();
controls.styleNameList.add(LayoutGroup.ALTERNATE_STYLE_NAME_TOOLBAR);
var controlsLayoutData:AnchorLayoutData = new AnchorLayoutData();
controlsLayoutData.left = 0;
controlsLayoutData.right = 0;
controlsLayoutData.bottom = 0;
controls.layoutData = controlsLayoutData;
var playPauseButton:PlayPauseToggleButton = new PlayPauseToggleButton();
controls.addChild(playPauseButton);
var seekBar:SeekSlider = new SeekSlider();
seekBar.layoutData = new HorizontalLayoutData(100, 100);
controls.addChild(seekBar);
var muteButton:MuteToggleButton = new MuteToggleButton();
controls.addChild(muteButton);
var fullScreenButton:FullScreenToggleButton = new FullScreenToggleButton();
controls.addChild(fullScreenButton);
player.addChild(controls);
var view:ImageLoader = new ImageLoader();
var viewLayoutData:AnchorLayoutData = new AnchorLayoutData(0, 0, 0, 0);
viewLayoutData.bottomAnchorDisplayObject = controls;
view.layoutData = viewLayoutData;
player.addChild(view);
player.width = 3 * this.stage.stageWidth / 4;
this.addChild(player);
player.addEventListener(Event.READY, function(event:Event):void
{
view.source = player.texture;
});
player.videoSource = "test.m4v";
The main thing that you'll notice is that you need to add all of the controls manually. Even an ImageLoader to display the VideoTexture! I may end up creating something like a SimpleVideoPlayer component with some reasonable defaults and a few properties to customize which controls are visible, but my goal here is to make VideoPlayer into more of a framework. Media players have a lot in common, but in my experience, their layouts tend to have a lot of variation. I want to make sure that this component is flexible enough to support some creativity.