ボタンをクリックした瞬間ビデオの再生が停止
static main() { var v=_root.attachMovie('VideoDisplay','v',_root.getNextHighestDepth()); var url="http://cache.googlevideo.com/get_video?video_id=zfwFN5bSBp8"; var nc=new NetConnection(); nc.connect(null); var ns=new NetStream(nc); v.video.attachVideo(ns); ns.play(url); var b=_root.attachMovie('goNext','b',_root.getNextHighestDepth()) b.onRelease=function() {}; }
onReleaseハンドラを設定したMovieClipをクリックした瞬間ビデオの再生が停止。なにこれ。
原因判明。どうやらonReleaseハンドラが呼ばれるタイミングでGCが発動するらしい。関数を抜けた時点でNetConnection/NetStreamへの明示的な参照は失われており、たとえattachされてようがなんだろうがあぼーん。Flashきらい。
ちょっと試してみたが、NetConnectionへの参照さえあれば正常に動作する。NetStreamへの参照だけあってもだめ。Flashを殺害したい。