Flash - статьи

Проигрывание Flash-ролика


Создаём на Delphi новый проект с единственной формой Form1. Из палитры компонентов ActiveX помещаем на форму компоненту ShackwaveFlash. Заносим с помощью инспектора объектов или программно в свойство ShockwaveFlash1.Movie полный путь и имя файла Flash-ролика (расширение файла swf). В примерах Flash-ролик помещён в тот же каталог, что и exe-файл, поэтому в них свойство удобно менять программно, размещая код в обработчике события создания формы:

procedure TForm1.FormCreate(Sender: TObject); begin ShockwaveFlash1.Movie := ExtractFilePath(Application.ExeName) + 'ball.swf'; end;

Установите свойства ShockwaveFlash1.Loop и ShockwaveFlash1.Playing в true. Нажмем F9, чтобы провести промежуточную проверку приложения. На форме должен двигаться и деформироваться овал. Если вместо этого на форме просто белый квадрат, то, скорее всего, неправильно установлено свойство ShockwaveFlash1.Movie (файл ball.swf находится в ).

Отметим, что свойства, методы и поля класса TShockwaveFlash можно просмотреть в файле ShockwaveFlashObjects_TLB.pas (обычно он находится в "c:\Program Files\Borland\Delphi7\Imports\"). Рекомендуем сделать это. Информацию о методах можно найти на сайте компании Macromedia, в описании и в Help пакета Flash.

Теперь модифицируем наше приложение так, чтобы продемонстрировать возможности управления ходом выполнения Flash-ролика. Вид главной формы представлен на рис. 6. Кнопки Stop, Play, Back, Forward, Rewind вызывают одноименные методы ShockwaveFlash1:

  • Stop - останавливает выполнение ролика;
  • Play - инициирует выполнение ролика с текущего фрейма;
  • Back - переход на предыдущий фрейм;
  • Forward - переход на следующий фрейм;
  • Rewind - переход на следующий фрейм;

При нажатии кнопок Back, Forward, Rewind во время воспроизведения ролика, перед выполнением соответствующего метода производится остановка методом Stop.

Рис. 6. Вид формы

Кнопка "Перейти" совместно с CSpinEdit демонстрирует использование метода ShockwaveFlash1.GotoFrame - переход на произвольно заданный номер фрейма.

Кнопка "Загрузить новый Flash-ролик" вызывает диалоговое окно и загружает новый swf-файл. (См. предоставляемый с примером файл square.swf).

Отметим, что в программе используются:

  • свойство ShockwaveFlash1.TotalFrames для отображения общего количества фреймом во Flash-ролике;
  • метод ShockwaveFlash1.IsPlaying. Возвращаемое им значение позволяет определить, проигрывается ли в текущий момент ролик.
  • метод ShockwaveFlash1.CurrentFrame для отображения номера текущего фрейма при остановках.

Исходный код программы находится в архиве .



Содержание раздела