flash.net.NetStream の onPlayStatus がうまく動かない
まずはこのコードを見てくれ、こいつをどう思う?
private var param:Object; private var stream:NetStream; // 中略 stream.client = this; public function onMetaData(param:Object) { this.param = param; } public function onPlayStatus(info:Object) { trace("onPlayStatus!"); }
こんなコードを実行すると onMetaData の方は正しく動くのに onPlayStatus は動作しませんでした。そしてコンパイル時も、実行時もエラーなし。
困ったので外人さんのフォーラムを覗いたら onPlayStatus は FlashMediaServer の Stream 配信でしか使えず Progressive なダウンロードではイベントが発生しないとのこと。別途イベントを定義してそこから引っ張るしかないようです。
private var param:Object; private var stream:NetStream; // 中略 stream.client = this; stream.addEventListener(NetStatusEvent.NET_STATUS, nsStatusHandler); public function onMetaData(param:Object) { this.param = param; } private function nsStatusHandler(e:NetStatusEvent):void { if(e.info.code == "NetStream.Play.Stop") { trace("かわいくてごめんね!!!"); } }