スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【AS3.0】FLVPlaybackで2度同じ動画を流そうとしたら2度目がなかなか再生されない原因と対策

FLVPlayバックコンポーネントを使用して動画再生した後、
他のコンテンツなどを開いた場合にremoveChild(FLVPlaybackのインスタンス)を
しても音が残ってしまう。

つまりNetStreamを閉じない限りメモリから消えていないのである…。
そこでいままではinstance.stop()を使ってごまかしていたのだが、
どうもそれだと裏でのバッファが止まらず、脆弱なサーバーに大きめの動画が
置いてある場合においてはFireFoxなど一部のブラウザで
2度目の再生が1度目のバッファが終わらないと始まらないという
かなりいけてない状況になってしまう。

そこでNetStreamを閉じるために
FLVPlaybackのインスタンスに「インデックス番号」を設定し
closeVideoPlayerメソッドを実行すれば完全に削除出来るらしい。
最後のmyFLVpbk = 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;

}
スポンサーサイト

コメントの投稿

非公開コメント

ワンコウォッチ
プロフィール

AGOSO

Author:AGOSO
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
ワンコウォッチ[ベリー・レッド]
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。