Темы снятия скриншотов с Flash-роликов и игр я коснулся в предыдущем посте. Немного подумав я нашел одно решение – создаем страницу наподобии этой. Обычный Flash-ролик, но секрет кроется в исходном коде:

<?
ob_start();
?>
<html>
<body>
<object type="application/x-shockwave-flash" data=" http://dl.ziza.ru/other/022010/09/utro2/games/game1.swf" height="500" width="650"><br>    <param name="movie" value="http://dl.ziza.ru/other/022010/09/utro2/games/game1.swf"><br>  </object>
<?
ob_flush(); flush();
sleep(5);
?>
</body>
</html>

Суть в том, что флеш-ролик отдается сразу, а дальнейшая выдача страницы отстает на 5 секунд. Что мы делаем дальше – дальше мы обращаемся к адресу: http://4all.lv/modules/screenshots/services/screen.php?size=640×480&url=http://hour-money.ru/x.php, ждем пару минут и обращаемся к нему еще раз – в ответ уже получаем готовый скриншот первого кадра Flash-ролика.
Сервис 4all.lv, по сути, открывает указанный ему адрес в браузере FireFox, снимает скриншот и отдает пользователю. Зачем же нужна задержка в выдаче страницы? А всё очень просто – чтобы в скриншоте было не окно загрузки ролика, а его первый нормальный кадр. За эти 5 секунд ролик уже будет отображаться и загружаться, а скриншот с него снимут только когда страница будет загружена целиком.
Остается одна проблема – такая как на моем примере – для запуска игры нужно нажать кнопку после загрузки флеша целиком. Поэтому скриншот получился некрасивым. Но таких Flash-игр немного, обычно после загрузки появляется красивая картинка главного меню, которая вполне подходит!

Один ответ

Оставить комментарий



Аватар Вы можете установить на сайте Gravatar.