2011-11-10 12 views
0

私は3〜4秒3秒のFLVファイルを持っています。私はそれらを複数回再生する必要があります。 私はflvをインポートしたくないので、毎回動的にそれらを読み込みません。 私はswce ONCEの初めにそれらをロードして、いつでも再生できますか? ありがとうビデオをメモリに読み込みます

+0

希望する他の事前定義された方法はありません。 – Benny

+0

あなたは何を意味していますか? – eomer

答えて

0

FLVファイルがロードされると、Flash PlayerはFLVファイルをキャッシュします。メディアのURLが以前にロードされたものと同じ場合、Flash Playerのキャッシュがクリアされない限り、FLVファイルを再度ダウンロードしようとしません。

はここでプリロードのための例です:

private var preloadQueue:Array = 
    ['http://path/to/firstmovie.flv', 
    'http://path/to/secondmovie.flv']; 

private function startPreload() { 
    loadNextItem(); 
    function loadNextItem() { 
    if (preloadQueue.length == 0) { 
     preloadingFinished(); 
    } 
    var movie:URLLoader = new URLLoader(new URLRequest(preloadQueue.pop())); 
    cacher.addEventListener(ProgressEvent.PROGRESS, function (e:ProgressEvent) { 
     //you can show the percentage of the current movie being loaded 
    }); 
    //ideally you'd want to catch IOErrorEvent.IO_ERROR as well for any 404's 
    cacher.addEventListener(Event.COMPLETE, function (e:Event) { 
     loadNextItem(); 
    }); 
    } 
} 
startPreload(); 
function preloadingFinished() { 
    MyFlvplayer.play('http://path/to/firstmovie.flv'); //movie will play instantly 
} 
0

ビデオメモリにロードされます。メモリに保持されている他のアイテム(image、swf、object、arrayなど)と同じように、データへのポインタがなくなると、そのデータはガベージコレクションされます。

あなたのケースでは、ビデオを一度読み込んだら(動的にまたはコンパイル時に埋め込まれていれば)、それだけで十分です。もう一度必要になるまで非表示にして、再生ヘッドを最初に戻します。

video.alpha = 1; 
video.seek(0) 
関連する問題