forked from: flash on 2012-1-3
[SWF(width="465", height="465", frameRate="30", backgroundColor="#FFFFFF")]
♥0 |
Line 146 |
Modified 2013-02-01 12:07:59 |
MIT License
archived:2017-03-30 10:26:36
ActionScript3 source code
/**
* Copyright ohisama ( http://wonderfl.net/user/ohisama )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/shCz
*/
// forked from Barrel.Roll's flash on 2012-1-3
package
{
import flash.display.Sprite;
import flash.text.TextField;
import flash.events.*;
import flash.net.*;
import flash.system.*;
//[SWF(width="465", height="465", frameRate="30", backgroundColor="#FFFFFF")]
public class FlashTest extends Sprite
{
private var tf : TextField;
private var connections : Array;
public function FlashTest()
{
tf = new TextField();
tf.width = stage.stageWidth;
tf.height = stage.stageHeight;
tf.text = "koko";
tf.multiline = true;
addChild(tf);
var _local3 : Object = new Object();
FlashTest.version(_local3);
if ((((_local3.major < 9)) || ((((_local3.major == 9)) && ((_local3.build < 60))))))
{
tf.text = "Old version of Flash!";
return;
}
connectTo("cp23059.edgefcs.net/ondemand/ondemand?ovpfv=1.1");
}
public static function version(_arg1 : Object) : void
{
var _local2 : String = Capabilities.version;
var _local3 : Array = _local2.split(",");
var _local4 : Array = _local3[0].split(" ");
_arg1.os = _local4[0];
_arg1.major = parseInt(_local4[1]);
_arg1.minor = parseInt(_local3[1]);
_arg1.build = parseInt(_local3[2]);
}
public function DoStuff(arg : String) : void
{
this.tf.text = arg;
}
public function loadXML() : void
{
var _local2 : URLRequest = new URLRequest("http://events.digitallyspeaking.com/gdc2010/xml/10642_1268428865875CUKG.xml");
var _local3 : URLLoader = new URLLoader(_local2);
_local3.addEventListener(Event.COMPLETE, this.xmlLoaded);
}
public function xmlLoaded(_arg1:Event):void
{
var event : * = _arg1;
//this.tf.text = "YEEEEEEEEAAAA1AH";
var xml : XML = XML(URLLoader(event.currentTarget).data);
//trace(("Data loaded." + this.xml.metadata.toXMLString()));
var isLive : Boolean = (xml.metadata.isLive.toString() == "true");
var isProgressive : Boolean = (xml.metadata.akamaiHost == "null");
var connectURL : String = ((isProgressive) ? null : (xml.metadata.akamaiHost.toString() + ((isLive) ? "/live" : "/ondemand")));
this.tf.text = connectURL;
//this.title = this.xml.metadata.title.split("/n").join("\n");
//this.speaker = this.xml.metadata.speaker.split("/n").join("\n");
}
public function connectTo(_arg1 : String, ... _args) : void
{
//var _hostName:String = ((_arg1.indexOf("/"))!=-1) ? _arg1.slice(0, _arg1.indexOf("/")) : _arg1;
//var _appNameInstName:String = ((((!((_arg1.indexOf("/") == -1))) && (!((_arg1.indexOf("/") == (_arg1.length - 1)))))) ? _arg1.slice((_arg1.indexOf("/") + 1)) : "");
var _protos : Array = [
{
port:"1935",
protocol:"rtmp"
},
{
port:"443",
protocol:"rtmp"
},
{
port:"80",
protocol:"rtmp"
},
{
port:"80",
protocol:"rtmpt"
},
{
port:"443",
protocol:"rtmpt"
},
{
port:"1935",
protocol:"rtmpt"
},
{
port:"1935",
protocol:"rtmpe"
},
{
port:"443",
protocol:"rtmpe"
},
{
port:"80",
protocol:"rtmpe"
},
{
port:"80",
protocol:"rtmpte"
},
{
port:"443",
protocol:"rtmpte"
},
{
port:"1935",
protocol:"rtmpte"
}];
var _cnt : uint = 0;
this.connections = new Array();
this.tf.text = "";
while (_cnt < _protos.length)
{
try
{
this.tf.appendText(String(_cnt));
this.connections[_cnt] = new NetConnection();
this.connections[_cnt].connect(_protos[_cnt].protocol + "://" + _arg1);
this.connections[_cnt].addEventListener(NetStatusEvent.NET_STATUS, this.netStatus);
//this._aNC[this._connectionAttempt].connect(this._aConnections[this._connectionAttempt].address, this._connectionArgs);
}
catch (error : Error)
{
this.tf.appendText(_protos[_cnt].protocol + " is not working!");
}
_cnt++;
return;
// TODO: remove this and implement a whole loop
}
}
protected function netStatus(_arg1 : NetStatusEvent) : void
{
switch (_arg1.info.code)
{
case "NetConnection.Connect.InvalidApp":
case "NetConnection.Connect.Rejected":
this.tf.text = "Rejected"
break;
case "NetConnection.Call.Failed":
this.tf.text = "Failed"
break;
case "NetConnection.Connect.Success":
this.tf.appendText(" Success");
break;
};
}
}
}