unit ShowAVI_; interface
Uses
Windows, Messages, SysUtils,
Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls;
Type
TForm1 = class(TForm)
Animate1: TAnimate; // компонент Animate
Button1: TButton; // кнопка Пуск-Стоп
Button2: TButton; // следующий кадр
Button3: TButton; // предыдущий кадр
RadioButton1: TRadioButton; // просмотр всей анимации
RadioButton2: TRadioButton; // покадровый просмотр
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
Private
{ Private declarations } public
{ Public declarations) end;
Var
Form1: TForm1; // форма
CFrame: integer; // номер отображаемого кадра
// в режиме покадрового просмотра
implementation {$R *.DFM}
// к следующему кадру
procedure TForm1.Button2Click(Sender: TObject);
Begin
if CFrame = 1 then Button2.Enabled:= True;
if CFrame < Animate1.FrameCount then begin
CFrame:= CFrame + 1;
// вывести кадр
Animate1.StartFrame:= CFrame;
Animate1.StopFrame:= CFrame;
Animate1.Active:= True;
if CFrame = Animatel.FrameCount // текущий кадр — последний
then Button2.Enabled:=False;
end;
end;
// к предыдущему кадру
procedure TForm1.Button3Click(Sender: TObject);
Begin
if CFrame = Animate1.FrameCount
then Button2.Enabled:= True;
if CFrame > 1 then begin
CFrame:= CFrame — 1;
// вывести кадр
Animate1.StartFrame:= CFrame;
Animate1.StopFrame:= CFrame;
Animate1.Active:= True;
|
|
if CFrame = 1 // текущий кадр — первый
then Form1.Button3.Enabled:= False;
end;
end;
// активизация режима просмотра всей анимации
procedure TForml.RadioButtonlClick(Sender: TObject);
Begin
Buttonl.Enabled:=True; //доступна кнопка Пуск
// сделать недоступными кнопки покадрового просмотра
Form1.Button3.Enabled:=False;
Form1.Button2.Enabled:=False;
end;
// активизация режима покадрового просмотра
procedure TForm1.RadioButton2Click(Sender: TObject);
Begin
Button2.Enabled:=True; // кнопка Следующий кадр доступна
Buttons.Enabled:=False; // кнопка Предыдущий кадр недоступна
// сделать недоступной кнопку Пуск — вывод всей анимации
Buttonl.Enabled:=False; end;
// п уск и остановка просмотра анимации
procedure TForm1.ButtonlClick(Sender: TObject);
Begin
if Animate1.Active = False // в данный момент анимация не выводится
Then begin
Animate1.StartFrame:=l; // вывод с первого
Animate1.StopFrame:=Animate1.FrameCount; // по последний кадр
Animate1.Active:=True;
Button1.caption:='Стоп';
RadioButton2.Enabled:=False;
End
else // анимация отображается
Begin
Animate1.Active:=False; // остановить отображение
Button1.caption:='Пуск';
RadioButton2.Enabled:=True;
end;
end;
End.
Компонент Animate позволяет программисту использовать в своих программах стандартные анимации Windows. Вид анимации определяется значением свойства СommonAVI. Значение свойства задается при помощи именованной константы. В табл. 11.3 приведены некоторые значения констант, вид анимации и описание процесса, для иллюстрации которого используется эти анимации.
Таблица 11.3. Значение свойства comonAVi определяет анимацию
Значение | Анимация | Процесс | ||
aviCopyFiles | Копирование файлов | |||
AviDeleteFile | Удаление файла | |||
aviRecycleFile | Удаление файла в корзину |
Компонент MediaPlayer
Компонент MediaPlayer, значок которого находится на вкладке System (рис. 11.4), позволяет воспроизводить видеоролики, звук и сопровождаемую звуком анимацию.
|
|
Рис. 11.4. Значок компонента MediaPlayer
В результате добавления к форме компонента MediaPlayer на форме появляется группа кнопок (рис. 11.5), подобных тем, которые можно видеть на обычном аудио- или видеоплеере. Назначение этих кнопок пояснено в табл. 11.4. Свойства компонента MediaPlayer приведены в табл. 11.5.
Рис. 11.5. Компонент MediaPlayer
Таблица 11.4. Кнопки компонента MediaPlayer
Кнопка | Обозначение | Действие | ||
Воспроизведение | btPlay | Воспроизведение звука или видео | ||
Пауза | btPause | Приостановка воспроизведения | ||
Стоп | btStop | Остановка воспроизведения | ||
Следующий | btNext | Переход к следующему кадру | ||
Предыдущий | btPrev | Переход к предыдущему кадру | ||
Шаг | btStep | Переход к следующему звуковому фрагменту, например, к следующей песне на CD | ||
Назад | btBack | Переход к предыдущему звуковому фрагменту, например, к предыдущей песне на CD | ||
Запись | btRecord | Запись | ||
Открыть/Закрыть | btEject | Открытие или закрытие CD-дисковода компьютера | ||
Таблица 11.5. Свойства компонента MediaPiayer
Свойство | Описание | ||
Name DeviceType FileName AutoOpen Display VisibleButtons | Имя компонента. Используется для доступа к свойствам компонента и управлением работой плеера Тип устройства. Определяет конкретное устройство, которое представляет собой компонент MediaPiayer. Тип устройства задается именованной константой: dtAutoSelect — тип устройства определяется автоматически; dtVaweAudio — проигрыватель звука; dtAVivideo — видеопроигрыватель; dtCDAudio — CD-проигрыватель Имя файла, в котором находится воспроизводимый звуковой фрагмент или видеоролик Признак автоматического открытия сразу после запуска программы, файла видеоролика или звукового фрагмента Определяет компонент, на поверхности которого воспроизводится видеоролик (обычно в качестве экрана для отображения видео используют компонент Panel) Составное свойство. Определяет видимые кнопки компонента. Позволяет сделать невидимыми некоторые кнопки | ||