我有3-4个3秒的flv文件,我需要多次播放它们。 我不想导入flv,我不能每次动态加载它们。 我可以在我的swf ONCE开头加载它们并随时播放它我想要吗? 感谢
答案 0 :(得分:0)
Flash播放器将在加载FLV文件后对其进行缓存,如果媒体的URL与之前加载的文件相同,则除非清除Flash播放器的缓存,否则不会再次下载它们。
以下是预加载的示例:
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
}
答案 1 :(得分:0)
视频已加载到内存中。就像内存中保存的任何其他项目(例如图像,swf,对象,数组等等)一样,如果它不再具有指向数据的指针,则数据将被垃圾收集。
在您的情况下,如果您已经加载了一次视频(无论是动态还是在编译时嵌入),那就是您所需要的。只需隐藏它直到你再次需要它,然后将它的播放头重置回到开头。
video.alpha = 1;
video.seek(0)