ULVideoPlayer: A lightweight, skinnable video player.

ULVideoPlayer consumes UltraLoader ULVideo assets with ease. It is easily skinnable.

ULVideoPlayer currently works with progressive download videos only. In the future it will work with streaming videos.

If you want to forgo the use of UltraLoader you can manually set up a
ULVideo Object and add it to the ULVideoPlayer like in the code sample below:

  
var nC:NetConnection = new NetConnection();  
nC.connect(null);

var ulVideo:ULVideo = new ULVideo();  
ulVideo.src = "video/videofile.flv";

ulVideo.netStream = new NetStream(_.$video.netConnection);  
ulVideo.netStream.bufferTime = 7;  
ulVideo.netStream.checkPolicyFile = false; // true or false  
ulVideo.netStream.addEventListener(IOErrorEvent.IO_ERROR, _.IOError_Listener, false, 0, true);  
//var onNetStatus:Function = function (e:NetStatusEvent):void { /*trace("Net Status:" + ' ' + e.info.code + ' ' + e.currentTarget.client.name);*/ }
//ulVideo.netStream.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus, false, 0, true);

ulVideo.netStream.client = new Object();  
ulVideo.netStream.client.name = "videoName";  
ulVideo.netStream.client.onCuePoint = function(...P):void{};  
ulVideo.netStream.client.onMetaData = function(meta:Object):void{_.$video[videoId].metaData = meta;};  
ulVideo.netStream.client.onPlayStatus = function(...P):void { };

ulVideo.video = new Video(320, 240);  
ulVideo.video.smoothing = true;  
ulVideo.video.attachNetStream(ulVideo.netStream);

var ulVideoPlayer:ULVideoPlayer = new ULVideoPlayer(ulVideo);  
ulVideoPlayer.tFormat = new TextFormat("Arial, Helvetica, Sans-Serif", 12, 0xFF0000);  
ulVideoPlayer.mainColor = 0xFF0000;  
ulVideoPlayer.scrubberColor = 0xFF0000;  
ulVideoPlayer.volumeBarFull = 0xFF0000;  
ulVideoPlayer.updateSettings();

ulVideoPlayer.changeVideo(ulVideoOtherVideoNotSetInExample);  
ulVideoPlayer.tFormat = new TextFormat("Arial, Helvetica, Sans-Serif", 12, 0x6666FF);  
ulVideoPlayer.mainColor = 0xFF00FF;  
ulVideoPlayer.scrubberColor = 0xFF00FF;  
ulVideoPlayer.volumeBarFull = 0x00FF00;  
ulVideoPlayer.updateSettings();

addChild(ulVideoPlayer);  

Note for the example below: Keep in mind accurate seeking with flash video is only as good as the number of keyframes in your video file. Unfortunately the video file in the example below has very few keyframes.

View the ULVideoPlayer Project.

View the ULVideoPlayer Documentation.

View the ULVideo Ojbect Documentation.

Download Source Files For the Example Below.

UlVideoPlayer Example