Листинг 11.1. Использование компонента Animate
unitShowAVI_; 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; // покадровый просмотр
procedureButton1Click(Sender: TObject);
procedureButton2Click(Sender: TObject);
procedureButton3Click(Sender: TObject);
procedureRadioButton1Click(Sender: TObject);
procedureRadioButton2Click(Sender: TObject);
Private
{ Private declarations } public
{ Public declarations ) end;
Var
Form1: TForm1; // форма
CFrame: integer; // номер отображаемого кадра
// в режиме покадрового просмотра
implementation{$R *.DFM}
// к следующему кадру
procedureTForm1.Button2Click(Sender: TObject);
Begin
ifCFrame = 1 thenButton2.Enabled := True;
if CFrame < Animate1.FrameCount then begin
CFrame := CFrame + 1;
// вывести кадр
Animate1.StartFrame := CFrame;
Animate1.StopFrame := CFrame;
Animate1.Active := True;
ifCFrame = Animatel.FrameCount // текущий кадр — последний
thenButton2.Enabled:=False;
end;
end;
// к предыдущему кадру
procedureTForm1.Button3Click(Sender: TObject);
Begin
if CFrame = Animate1.FrameCount
thenButton2.Enabled := True;
ifCFrame > 1 then begin
CFrame := CFrame — 1;
// вывести кадр
Animate1.StartFrame := CFrame;
Animate1.StopFrame := CFrame;
Animate1.Active := True;
ifCFrame = 1 // текущий кадр — первый
thenForm1.Button3.Enabled := False;
end;
end;
// активизация режима просмотра всей анимации
procedureTForml.RadioButtonlClick(Sender: TObject);
Begin
Buttonl.Enabled:=True; //доступна кнопка Пуск
// сделать недоступными кнопки покадрового просмотра
Form1.Button3.Enabled:=False ;
Form1.Button2.Enabled:=False;
end;
// активизация режима покадрового просмотра
procedureTForm1.RadioButton2Click(Sender: TObject);
Begin
Button2.Enabled:=True; // кнопка Следующий кадр доступна
Buttons.Enabled:=False; // кнопка Предыдущий кадр недоступна
// сделать недоступной кнопку Пуск — вывод всей анимации
Buttonl.Enabled:=False; end;
// пуск и остановка просмотра анимации
procedureTForm1.ButtonlClick(Sender: TObject);
Begin
ifAnimate1.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