rendered paste bodypackage
{
import flash.display.MovieClip;
import flash.display.Shape;
import flash.events.Event;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.media.Video;
import flash.events.ProgressEvent;
import flash.events.MouseEvent;
import flash.events.NetStatusEvent;
import flash.text.TextField;
import flash.text.TextFormat;
import flash.display.SimpleButton;
public class MoviePlayer extends MovieClip
{
var owner:YouTube;
var bg:Shape = new Shape();
var nc:NetConnection = new NetConnection();
var ns:NetStream;
var vid:Video = new Video(320, 240);
var vidTitle:TextField = new TextField();
var vidAuthor:TextField = new TextField();
var vidDescription:TextField = new TextField();
var vidTags:TextField = new TextField();
var largeText:TextFormat = new TextFormat();
var smallText:TextFormat = new TextFormat();
var buttonPlayPause:SimpleButton;
var buttonClose:SimpleButton;
var pauseUp = new Pause();
var pauseOver = new PauseOver();
var pauseDown = new PauseDown();
var playUp = new Play();
var playOver = new PlayOver();
var playDown = new PlayDown();
var closeUp = new Close();
var closeOver = new CloseOver();
var closeDown = new CloseDown();
var pauseSymbol = new PauseSymbol();
var playState:Boolean = true;
var loadedBar:Shape = new Shape();
var positionIndicator:MovieClip = new Position();
var videoLength:Number;
public function MoviePlayer(vidData:Array, vID:String, spawner:YouTube)
{
owner = spawner;
alpha = 0.9;
videoLength = vidData[3];
buttonPlayPause = new SimpleButton();
buttonClose = new SimpleButton();
vidTitle.autoSize = "left";
vidTitle.text = vidData[2];
vidTitle.selectable = false;
vidAuthor.autoSize = "left";
vidAuthor.text = "By: " + vidData[0];
vidAuthor.selectable = false;
vidDescription.width = "300";
vidDescription.wordWrap = true;
vidDescription.text = vidData[6];
vidDescription.selectable = false;
vidTags.width = "340";
vidTags.wordWrap = true;
vidTags.text = "Tags: "+vidData[10];
vidTags.selectable = false;
largeText.font = "Verdana";
largeText.color = 0xFFFFFF;
largeText.bold = false;
largeText.size = 16;
smallText.font = "Verdana";
smallText.color = 0xFFFFFF;
smallText.bold = false;
smallText.size = 12;
vidTitle.setTextFormat(largeText);
vidAuthor.setTextFormat(largeText);
vidDescription.setTextFormat(smallText);
vidTags.setTextFormat(smallText);
addChild(bg);
addChild(loadedBar);
addChild(positionIndicator);
nc.connect(null);
ns = new NetStream(nc);
addChild(vid);
addChild(vidTitle);
addChild(vidAuthor);
addChild(vidDescription);
addChild(vidTags);
buttonPlayPause.upState = pauseUp;
buttonPlayPause.overState = pauseOver;
buttonPlayPause.downState = pauseDown;
buttonPlayPause.useHandCursor = true;
buttonPlayPause.hitTestState = pauseUp;
buttonPlayPause.addEventListener(MouseEvent.CLICK, togglePause);
buttonClose.upState = closeUp;
buttonClose.overState = closeOver;
buttonClose.downState = closeDown;
buttonClose.useHandCursor = true;
buttonClose.hitTestState = closeUp;
buttonClose.addEventListener(MouseEvent.CLICK, closeMovie);
addChild(buttonPlayPause);
addChild(buttonClose);
nc.client = new Object();
vid.attachNetStream(ns);
ns.play("http://83.149.112.11/getflv.php?url=http://www.youtube.com/?v="+vID);
addEventListener(Event.ADDED, init);
addEventListener(Event.ENTER_FRAME, enterFrame);
}
private function enterFrame(event:Event)
{
loadedBar.width = (ns.bytesLoaded / ns.bytesTotal) * 240;
loadedBar.y = stage.stageHeight/2 + 135;
loadedBar.x = stage.stageWidth/2 - 260;
var playPos = (ns.time / videoLength) * 240;
positionIndicator.y = loadedBar.y;
positionIndicator.x = loadedBar.x + playPos;
}
private function closeMovie(event:Event)
{
ns.close();
nc.close();
vid.clear();
owner.closeMovie(this);
}
private function togglePause(event:MouseEvent)
{
playState = !playState;
ns.togglePause();
if(playState)
{
buttonPlayPause.upState = pauseUp;
buttonPlayPause.overState = pauseOver;
buttonPlayPause.downState = pauseDown;
removeChild(pauseSymbol);
}
else
{
buttonPlayPause.upState = playUp;
buttonPlayPause.overState = playOver;
buttonPlayPause.downState = playDown;
addChild(pauseSymbol);
}
}
private function init(event:Event)
{
bg.graphics.beginFill("0x222222");
bg.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
bg.graphics.endFill();
bg.graphics.beginFill("0x333333");
bg.graphics.drawRoundRect(stage.stageWidth/2 - 310, stage.stageHeight/2 - 130, 340, 295, 20);
bg.graphics.endFill();
bg.graphics.beginFill("0x444444");
bg.graphics.drawRoundRect(stage.stageWidth/2 - 260, stage.stageHeight/2 + 135, 240, 10, 2);
bg.graphics.endFill();
loadedBar.graphics.beginFill("0x664444");
loadedBar.graphics.drawRoundRect(0, 0, 20, 10, 2);
loadedBar.graphics.endFill();
vid.x = stage.stageWidth/2 - 300;
vid.y = stage.stageHeight/2 - 120;
vidTitle.x = stage.stageWidth/2 - 310;
vidTitle.y = stage.stageHeight/2 - 155;
vidAuthor.x = stage.stageWidth/2 + 40;
vidAuthor.y = stage.stageHeight/2 - 135;
vidDescription.x = stage.stageWidth/2 + 40;
vidDescription.y = stage.stageHeight/2 - 110;
vidTags.x = stage.stageWidth/2 - 310;
vidTags.y = stage.stageHeight/2 + 170;
buttonPlayPause.x = stage.stageWidth/2 - 300;
buttonPlayPause.y = stage.stageHeight/2 + 125;
buttonClose.x = stage.stageWidth/2 - 10;
buttonClose.y = stage.stageHeight/2 + 125;
pauseSymbol.x = vid.x + 160;
pauseSymbol.y = vid.y + 120;
}
}
}