ActionScript3でFLVをストリーミングでリピート再生

RTMPストリーミングでリピート再生の話。ActionScript2の時と書き方が変わってて混乱したので備忘録。NetStream.clientオブジェクトにハンドラを設定した独自のオブジェクトを参照させてあげないとダメだった。

次のコードをRTMPHandle.asで保存。

package {
	import flash.net.NetStream;

	public class RTMPHandle {
		
		private var stream:NetStream;
		private var session:String;
	
		public function RTMPHandle(stream:NetStream, session:String){
			this.stream = stream;
			this.session = session;
		}
		
		
		public function onPlayStatus(info:Object):void {
			if(info.code=="NetStream.Play.Complete"){
				this.stream.play(this.session);
			}	
		}
		public function onMetaData(info:Object):void {
			
		}
		
	}
}

その上でリピート再生させてやりたいNetStream#clientに対してRTMPHandleを参照させる。

var ns  : NetStream = new NetStream(nc);
var session : String = "megane";
ns.client = new RTMPHandle(ns, session);

これでリピート再生ができる。onMetaDataで空のメソッドを定義してるのは、これを定義していないとdebug用のFlashPlayerを使っていると警告(エラーだっけかな?)が出て目障りだったから。普通のFlashPlayerを使っている分には特に問題は無さそう。

関連広告

Trackbacks:1

TrackBack URL for this entry
http://blog.katsuma.tv/mt-tb.cgi/127
Listed below are links to weblogs that reference
ActionScript3でFLVをストリーミングでリピート再生 from blog.katsuma.tv
as3でFLVをストリーミングでリピート再生 from ループのスケッチブック 2008-07-16 (水) 23:28
flvをリピート再生するのに数日悩んでおりました。 ActionScript3でFLVをストリーミングでリピート再生 こちらさんを...

Home > ActionScript > ActionScript3でFLVをストリーミングでリピート再生

Search
Feeds

Return to page top