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を使っている分には特に問題は無さそう。
- Newer: 勝間本をいくつか読んでみました
- Older: RSSの話をする場合はau one My Pageの現状を知っておくべき
Google Adsense
Social bookmark comment : 0
No comment.
Comment : 0
Trackback : 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をストリーミングでリピート再生 こちらさんを...
2008/02/24 (Sun)