fc2ブログ
WEBマスター目指して日々勉強!!
page top
[as3] flvPlayBack(コンポーネント) 削除
CATEGORY/as3
ステージに配置したFLVPlaybackのインスタンスを削除したい時がある、、、

単純に removeChild(FLVPlaybackのインスタンス)で消せそうだが
これだけだと、音などが残り
表示オブジェクトを削除できても
FLVPlaybackオブジェクトそのものを削除したことにはならないみたい、、、


ではどうしたら、削除出来るの?

ロードされた flvは NetStream を閉じない限り完全にメモリ上から削除されないので
表示オブジェクトを削除しても、内部的には再生したままです。
なので、NetStreamを閉じるために
FLVPlaybackのインスタンスに「インデックス番号」を設定し
closeVideoPlayer メソッドを実行すれば完全に削除出来る!
(下記ソースの紫の箇所)

最後にnullでメモリ開放。



ということで

下記にサンプルソースを掲載してみたり




import fl.video.*;

var myFLVpbk = new FLVPlayback();
addChild (myFLVpbk);

myFLVpbk.activeVideoPlayerIndex = 1;
myFLVpbk.visibleVideoPlayerIndex = 1;

myFLVpbk.source = "movie.flv";
myFLVpbk.play ();

myFLVpbk.addEventListener (VideoEvent.COMPLETE, completeEvent);
function completeEvent (event:VideoEvent):void {
    myFLVpbk.removeEventListener (VideoEvent.COMPLETE, completeEvent);
    removeChild (myFLVpbk);
    myFLVpbk.closeVideoPlayer (1);
    myFLVpbk = null;
}




あと下記のサイトにシークバーについての挙動(バグ?!)で
とても参考になる情報が
http://chabudai.org/blog/?p=270




スポンサーサイト




コメントの投稿

管理者にだけ表示を許可する


トラックバック
トラックバック URL

© WEB-WORKMAN. all rights reserved.
Page top
FC2 BLOG