1

Я хотел бы знать, как флэш-файл воспроизводится / загружается на ПК пользователя. Например, если мой код такой, как показано ниже -

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"     codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="970" height="490" id="PRE" align="middle">
<param name="allowScriptAccess" value="always" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="cmck_rhp_pre.swf" /><param name="quality" value="high" />
<param name="bgcolor" value="#ffffff" />    
<embed src="PRE.swf" quality="high" bgcolor="#ffffff" width="970" height="490" name="PRE" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

Файл PRE.swf составляет около 413 КБ. Когда пользователь запускает эту страницу, как в действительности воспроизводится файл, например, загружается ли 413 КБ на ПК пользователя, а затем начинает воспроизводиться или ...? В основном, я хотел бы знать, как флеш-файлы, будь то SWF или FLV, воспроизводятся на ПК пользователя. Это для того, чтобы понять последствия перед развертыванием.

ОБНОВЛЕНИЕ 1: Если я открою SWF-файл, набрав \\\PRE.swf, в IE будет воспроизводиться флэш-файл. Однако я ничего не вижу в папке Temporary Internet Files.

4 ответа4

4

Фактически Flash-фильмы (анимация) начинают воспроизводиться, как только первый кадр загружается полностью, а остальные SWF-файлы загружаются в фоновом режиме. Вы знаете, что эти "проценты" отображают длинные анимации Flash? Мы разработчики Flash называем их "preloaders", и они там, чтобы предотвратить запуск фильма, прежде чем он будет загружен в основном или полностью, так что вы не получите заикание и паузы, если проигрыватель пытается воспроизвести кадры, которые еще не загружены

Весь SWF загружается, но игра начинается до этого.

2

Просто чтобы быть уверенным, что вы ничего не путаете: некоторые люди называют SWF-файлы «Flash-фильмами». Другие используют этот термин только для файлов FLV (Flash-видео).

На веб-сайтах SWF-файл воспроизводится во Flash-проигрывателе, а FLV-файлы воспроизводятся (небольшим, многократно используемым) SWF-файлом, который показывает экран и его элементы управления (воспроизведение, пауза, перемотка вперед, полный экран, ...) и которые Сам играется во Flash плеере.

Насколько я понимаю, SWF-файл часто (или всегда?) загружаются полностью до начала игры, но Flash позволяет отображать настраиваемый анимированный экран-заставку во время загрузки. FLV-файлы не нужно загружать полностью до начала воспроизведения, и SWF-проигрыватель часто также позволяет пропустить части FLV-файла, даже не загружая его (если сервер поддерживает это тоже).

Проигрыватель Flash использует свой собственный кеш, общий доступ (для текущего пользователя) ко всем браузерам на вашем компьютере.

(Также обратите внимание, что <object> и <embed> в вашем примере - это разные способы выполнения одной и той же вещи в разных браузерах.)

1

Полный файл прошивки загружается перед выполнением. Вы не увидите ничего в своем кеше при его просмотре, потому что вы запускаете его локально, ему не нужно делать еще одну копию на жестком диске.

1

Это не кэширование локально, потому что это уже локально! Вы не используете свой браузер для HTTP-запроса флэш-файла с удаленного сервера>, поэтому нет необходимости копировать в кеш.

Используйте один из двух методов, чтобы гарантировать, что SWF-файлы загружаются каждый раз:

Использование заголовка «Срок действия». Заголовок Expires HTML-документа сообщает веб-браузеру, когда срок действия кэшированного документа должен истечь из кэша. Использование даты в прошлом гарантирует, что срок действия документа истечет.

 <!-- BEGIN INSERT --><META HTTP-EQUIV="Expires" CONTENT="Mon, 04 Dec 1999 21:29:02 GMT"><!-- END INSERT --> 

Каждый раз, когда запрашивается этот документ, браузер замечает, что срок действия кэшированной версии истек, и загружает файл со своего сервера происхождения. Использование заголовка Pragma: No-Cache. Этот код указывает браузеру вообще не кэшировать документ.

<!-- BEGIN INSERT --><HEAD><META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"></HEAD><!-- END INSERT --> 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .