topical media & game development
student-mashup-youtube-components-FLVConstructor.mx
student-mashup-youtube-components-FLVConstructor.mx
[swf]
flex
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="onAppCreationComplete ()"
>
<mx:Script>
<![CDATA[
import flash.net.*;
import flash.events.*;
import flash.display.*;
private var loader:Loader;
private var abortId:uint;
[Bindable] public var inputURL:String;
[Bindable] public var resultURL:String;
private function onAppCreationComplete ():void
{
loader = new Loader ();
}
public function startLoading ():void
{
loader = new Loader ();
var req:URLRequest = new URLRequest (inputURL);
loader.contentLoaderInfo.addEventListener(Event.INIT, handlerLoaderInit);
loader.load(req);
//logMessage ("Loading YouTube URL..");
}
private function handlerLoaderInit (event:Event):void
{
//logMessage ("Loaded, processing: " + loader.contentLoaderInfo.url);
var urlVars:URLVariables = new URLVariables ();
urlVars.decode (loader.contentLoaderInfo.url.split("?")[1]);
//logMessage ("Processed:-");
//logMessage ("\t\t video_id:" + urlVars.video_id);
//logMessage ("\t\t t param:" + urlVars.t);
//logMessage ("\t\t thumbnail-url:" + urlVars.iurl);
var flvURL:String = constructFLVURL (urlVars.video_id, urlVars.t);
//logMessage ("YouTube FLV URL: " + flvURL);
resultURL=flvURL;
//playVideo (flvURL);
//logMessage ("Started Playing Video...");
loader.unload();
}
private function constructFLVURL (video_id:String, t:String):String
{
var str:String = "http://www.youtube.com/get_video.php?";
str += "video_id=" + video_id;
str += "&t=" + t;
return str;
}
/*
private function logMessage (message:String):void
{
outputText.text += message + "\n";
trace (message);
}
*/
]]>
</mx:Script>
<!--
<mx:VBox height="100%" width="100%">
<mx:Label text="Output:-"/>
<mx:TextArea id="outputText" width="100%" height="100%"/>
</mx:VBox> -->
</mx:VBox>
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.