Подписаться на RSS рассылку
Главная » Статьи по Delphi » Мультимедиа » Проиграть Flash файл в приложении

Проиграть Flash файл в приложении

Автор: Борисов Сергей

Оказывается в Delphi можно воспроизвести Flash ролики. Как же это сделать? Для начала необходимо импортировать компонент ActiveX: для этого в главном меню выберите Component -> Immport ActiveX Control... Появляется окно. Найдите и выделите в списке Shockwave Flash (Version 1.0). Можно выбрать вкладку на панели инструментов - раздел Palette page. Не будем менять. Нажмите Install... Появится еще одно окно, в котором вам нужно будет выбрать в какой пакет будет установлен компонент. Нажмите ОК. Появится окно с подтверждением. Нажмите YES. И, наконец, появляется сообщение об успешной установке. Нажмите ОК. На экране остается еще одно окно - "Package - dclusr.dpk". Закройте его и подтвердите сохранение.

Компонент установили. Он появится во вкладке ActiveX на панели инструментов.

Для того, чтобы понять как с ним работать напишим простейший плеер. Выложите на форму: TShockwaveFlash(для удобства назовите его просто Flash1), TTrackBar, TOpenDialog, TTimer и 3 кнопки TButton. Измените Caption кнопок на "Открыть", "Воспроизведение", "Стоп".

Изменим следующие свойства OpenDialog'a:
    Свойство Filter измените на Флэш-ролики|*.swf;
    Свойство DefaultExt на *.swf;

У Timer1 установите свойство Interval на 1.

Теперь напишем обработчик события OnClick для кнопки, которая будет вызывать OpenDialog. Это кнопка с Caption="Открыть":

procedure TForm1.Button1Click(Sender: TObject);
begin
  if OpenDialog1.Execute then
  begin
    Flash1.Movie := OpenDialog1.FileName; // укажем путь к файлу
    TrackBar1.Max := Flash1.TotalFrames; // установим длинну ролика
  end;
end;

По клику на кнопку "Воспроизведение" будем выполнять следующий код:

procedure TForm1.Button2Click(Sender: TObject);
begin
  Flash1.Play; // Воспроизвести
end;

А по клику на кнопку "Стоп" будем выполнять следующий код:

procedure TForm1.Button3Click(Sender: TObject);
begin
  Flash1.Stop; // Останавливаем воспроизведение
end;

И осталось еще автоматически двигать TrackBar. Для этого и нужен таймер.

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  TrackBar1.Position:=Flash1.CurrentFrame;
end;

Вот и все. Полный код программы:


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, ShockwaveFlashObjects_TLB, ComCtrls,
  ExtCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    OpenDialog1: TOpenDialog;
    TrackBar1: TTrackBar;
    Timer1: TTimer;
    Flash1: TShockwaveFlash;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject); begin   if OpenDialog1.Execute then   begin     Flash1.Movie := OpenDialog1.FileName;     TrackBar1.Max := Flash1.TotalFrames;   end; end;

procedure TForm1.Button2Click(Sender: TObject); begin   Flash1.Play; end;

procedure TForm1.Button3Click(Sender: TObject); begin   Flash1.Stop; end;
procedure TForm1.Timer1Timer(Sender: TObject); begin   TrackBar1.Position:=Flash1.CurrentFrame; end;

end.

Просмотров: 6009

Обсудить на форуме

0   Спам
(22.09.2010)
3. Никифор
исосто, Евгений!! открываешь ролик в IE? потом ищешь его в одной из папок по адресу c:\Documents and Settings\[Пользователь]\Local Settings\Temporary Internet Files\Content.IE5\, можно перед окрытием почистить эту папку, чтоб проще искать было, удалить все кроме index.dat desktop.ini

0   Спам
(17.06.2010)
2. я
глянь в тэмп интернет файлс там усё что загрузилось с нета...

0   Спам
(29.05.2010)
1. Евгений
Здраствуйте,

вы случайно не знаете как сохранить *.swf-file каторий был загружен с url?

был бы рад ответу, спасибо smile



Имя *:
Email:


Код *:

Copyright © 2008-2016 Программирование на Delphi для начинающих и не только

Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам

Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации

Хостинг от uCoz

Автор проекта: Борисов Сергей

e-mail: save-x@yandex.ru

Связь с администрацией сайта