Я уверен, что если вы просто используете встроенный компонент flvPlayBack и транслируете .flv с помощью httpStreaming, ваш файл не будет кэшироваться.
В прошлом я использовал NetStream для загрузки .flvs и сохранения их в кеш.
что-то вроде:
import flash.events.NetStatusEvent;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.net.URLRequest;
import flash.events.Event;
public var loader:NetStream;
public var dummy:Sprite;
public function loadFLV():void{
var request:URLRequest = new URLRequest ('file_to_load.flv');
var connection : NetConnection = new NetConnection();
connection.connect(null);
loader = new NetStream(connection);
var dummy:Sprite = new Sprite();
loader.play(request.url, true);
loader.pause();//pause the playback so it doesn't play the video, it just buffers it.
dummy.addEventListener(Event.ENTER_FRAME, onNetStreamEnterFrame, false, 0, true);
}
protected function onNetStreamEnterFrame(event : Event) : void {
if(loader.bytesTotal == loader.bytesLoaded && loader.bytesTotal > 8) {
//finished loading
dummy.removeEventListener(Event.ENTER_FRAME, onNetStreamEnterFrame, false);
loader.seek(0);
}else{
// still loading - you could do some progress stuff here if you wanted to.
}
}
Это только с моей головы. Я также уверен, что некоторые сторонние загрузчики, такие как BulkLoader , сделают это за вас.