загрузить видео в память - PullRequest
0 голосов
/ 10 ноября 2011

У меня есть 3-4 3-секундных FLV-файла, и мне нужно воспроизвести их несколько раз.Я не хочу импортировать FLV и не могу загружать их динамически каждый раз.Могу ли я загрузить их в начале моего SWF ОДНАЖДЫ и играть в нее в любое время я хочу?спасибо

Ответы [ 2 ]

0 голосов
/ 24 февраля 2012

Видео загружается в память. Как и с любым другим элементом, хранящимся в памяти (например, с изображением, swf, объектом, массивом и т. Д.), Если у него больше нет указателя на данные, данные собираются для сбора мусора.

В вашем случае, если вы загрузили видео один раз (будь то динамически или встроено во время компиляции), это все, что вам нужно. Просто скрывайте его до тех пор, пока он вам снова не понадобится, а затем верните его в начало воспроизведения.

video.alpha = 1;
video.seek(0)
0 голосов
/ 10 ноября 2011

Проигрыватель флэш-памяти будет кэшировать 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...