Я пытаюсь создать приложение AS3 с зацикливанием, бесшовный видео фон. Фон загружается с flv. До сих пор проблема была в плавности, потому что все тактики зацикливания видео, которые я встречал в отношении AS3, всегда имеют короткую, но заметную паузу в конце видео, прежде чем вернуться к началу и воспроизвести снова.
Лучший способ, который я решил решить, это воспроизвести видео и буферизовать видеокадры как объекты BitmapData в очередь определенной длины (без добавления видео на сцену). Таким образом, рендеринг видео будет действительно включать вставку каждого из этих BitmapDatas в растровое изображение.
объект прикреплен к моей сцене в определенное время, которое затем рисуется.
Вроде как:
/*VideoBufferer loops the input video and queues frames and then updates*/
var vidbuffer:VideoBufferer = new MyVideo("video.flv",outputImage)
var outputImage:Bitmap = new Bitmap();
stage.addChild(outputImage);
//forgive syntax, this is pseudoCode
timed process that happens X times per second{
outputImage.bitmapData = vidbuffer.popBitmapData(); //returns bitmap data from the queue
}
Мне плевать на звук.
Однако я, похоже, не знаю, как реализовать этот желаемый класс VideoBufferer, поскольку я не знаю, как воспроизводить видео, не добавляя его на сцену и не извлекая из него кадры. Кто-нибудь знает, есть ли такой класс, который уже делает это, или кто-то может подсказать мне, как реализовать функцию захвата кадров VideoBufferer?
Спасибо