Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Видео галерея (http://www.flasher.ru/forum/showthread.php?t=171389)

NoCD 15.11.2011 08:58

Видео галерея
 
Всем привет!

Стоит задача сделать галерею с картинками и видео.
Как создать галерею я знаю и как загрузить туда видео с картинками знаю.

Дело в том, что видео в галерее не одно. А как минимум два и более. Воспроизведение нескольких видео нормальное, не тормозит. Но вот если начать двигать галерею, вот тут вылазит вся трабла. На локале работает терпимо, а вот на сервере тормозит страшно.

Я понимаю, что движение видео это жесть, но так хочет заказчик.


Подскажите пожалуйста методы решения этой проблемы.
Видео грузится отдельное, flv в класс Video. Но вроде как есть еще Stage video. На сколько он лучше обычного видео?

BornTOFree 15.11.2011 09:55

Может попробовать замещать видео битмапой, когда галерея движется.

NoCD 15.11.2011 10:19

Если я правильно понимаю, то битмапа, это снимок фрагмента видео, то есть просто картинка вместо видео. Этот вариант не подходит. Нужно обязательно видео двигать :(

alatar 15.11.2011 12:31

У StageVideo есть ограничения на количество одновременно воспроизводимых роликов. Как бы вам не хотелось, но тормоза будут, компьютеры у всех разные и то, что терпимо работает у вас не сможет так же работать на каком нибудь нетбуке. С нативными клиентами тоже самое, для этого нужно довольно приличное железо, которое вы не можете гарантировать, если это не будет крутиться только у заказчика.

NoCD 15.11.2011 12:47

Это я понимаю, начинаю склоняться к методу, который озвучил BornTOFree. Сделать снимки нескольких секунд видео и запихать в массив:) Потом просто отображать картинки по кадрам.

Как сделать снимок видео?

Прошу прощения за AS2, хотел сперва на AS3, но не хватило знаний с некоторыми методами
Код AS1/AS2:

 
nc = new NetConnection();
nc.connect(null);
nStream = new NetStream(nc);
_root.myVideo1.attachVideo(nStream);
 
nStream.setBufferTime(5);
 
nStream.onStatus = onStatusStream;
nStream.play('movie_1.flv');
 
function onStatusStream(infoObject:Object)
{
        switch (infoObject.code) {
        case 'NetStream.Buffer.Full' :
 
      // this.seek(1);
 
var box = _root.createEmptyMovieClip('box',1050);       
 
var myBitmapData:BitmapData = new BitmapData(300, 300, true,0x000000);       
 
box.attachBitmap(myBitmapData,getNextHighestDepth());
 
myBitmapData.draw(???);
 
 
 
 
        break;
        }
}

Как в bitmap засунуть любой кадр видео? Подскажите пожалуйста

alatar 15.11.2011 13:43

Придется сначала перемотать на нужный кадр, потом снять битмапу.

NoCD 15.11.2011 14:25

Цитата:

Сообщение от alatar (Сообщение 1046166)
Придется сначала перемотать на нужный кадр, потом снять битмапу.

Это я понял. Как выбрать в видео определенный кадр?

время я могу выбрать так: video.seek(2); //2 секунда видео. Видно изображение в на текущий момент времени, вот как его перехватить в битмапу?

alatar 15.11.2011 14:27

Как вы у себя в коде и написали BitmapData#draw

NoCD 15.11.2011 14:41

Цитата:

Сообщение от alatar (Сообщение 1046185)
Как вы у себя в коде и написали BitmapData#draw

а ну да, работает. Первый раз я не правильную ссылку в draw пихал.
Спасибо!


Часовой пояс GMT +4, время: 11:44.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.