BergensBanen
http://if-music.be/2009/12/22/bergensbanen-train-journey/
これをFlashMediaServerで垂れ流しテスト。
一応ループするはずです。が7時間経たないと分かりません!
FlashMediaServerはデベロッパー版のため、同時接続数が10までです。
あと、予告なくサーバーの運用を中断したり再起動したり終了したりアレしたりします。
/*
http://if-music.be/2009/12/22/bergensbanen-train-journey/
これをFlashMediaServerで垂れ流しテスト。
一応ループするはずです。が7時間経たないと分かりません!
FlashMediaServerはデベロッパー版のため、同時接続数が10までです。
あと、予告なくサーバーの運用を中断したり再起動したり終了したりアレしたりします。
*/
package {
import flash.text.TextFieldAutoSize;
import flash.text.TextField;
import flash.events.NetStatusEvent;
import flash.net.NetStream;
import flash.media.Video;
import flash.net.NetConnection;
import flash.display.Sprite;
[SWF(width=1280, height=720)]
public class FlashTest extends Sprite {
private var nc:NetConnection;
private var ns:NetStream;
private var video:Video;
private var debugout:TextField;
public function FlashTest() {
// write as3 code here..
stage.stageWidth = 1280;
stage.stageHeight = 720;
debugout = new TextField();
debugout.x = 50;
debugout.y = 50;
debugout.autoSize = TextFieldAutoSize.LEFT;
debugout.background = true;
debugout.border = true;
debugout.backgroundColor = 0x000000;
debugout.textColor = 0x0000FF;
// addChild(debugout);
nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
nc.connect("rtmp://221.115.133.147:443/train");
}
private function onNetStatus(event:NetStatusEvent):void {
debugout.text = event.info.code;
switch (event.info.code) {
case "NetConnection.Connect.Success":
trace("NetConnection.Connect.Success");
playVideo();
break;
case "":
trace("could not find the video");
break;
}
}
private function playVideo():void {
ns = new NetStream(nc);
video = new Video(1280, 720);
video.attachNetStream(ns);
ns.play("mp4:train.mp4");
addChild(video);
}
}
}