Оказывается в 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.
Просмотров: 6449
3. Никифор
исосто, Евгений!! открываешь ролик в IE? потом ищешь его в одной из папок по адресу c:\Documents and Settings\[Пользователь]\Local Settings\Temporary Internet Files\Content.IE5\, можно перед окрытием почистить эту папку, чтоб проще искать было, удалить все кроме index.dat desktop.ini
|
Здраствуйте,
вы случайно не знаете как сохранить *.swf-file каторий был загружен с url? был бы рад ответу, спасибо |
Copyright © 2008 - 2018 Программирование на Delphi для начинающих и не только.
Полнота авторских прав на все материалы, опубликованные на сервере DelphiDevelop.ru принадлежит их авторам.
Перепечатка материалов разрешается с указанием авторства и гиперссылки на первоисточник информации.