Просмотр видеороликов и анимации

Помимо воспроизведения звука, компонент MediaPiayer позволяет просматривать видеоролики и мультипликации, представленные как AVI-файлы (AVI — это сокращение от Audio Video Interleave, что переводится как чередование звука и видео, т. е. AVI-файл содержит как звуковую, так и видеоинформацию) .

Процесс использования компонента MediaPiaer для посмотра содержимого AVI-файла рассмотрим на примере программы, которая в результате щелчка на командной кнопке воспроизводит на поверхности формы простую сопровождаемую звуковым эффектом мультипликацию — вращающееся по часовой стрелке слово Delphi (файл delphi.avi, содержащий этот мультик, находится на прилагаемом к книге диске).

Вид диалогового окна программы приведен на рис. 11.12, а значения свойств компонента MediaPlayerl — В табл. 11.8.

Рис. 11.12. Форма и диалоговое окно программы Использование MediaPlayer

Таблица 11.8. Значения свойств компонента MediaPlayer1

Свойство

Значение

Name

MediaPlayer1

FileName

delphi.avi

DeviceType

dtAVIVideo

AutoOpen

True

Display

Panel1

Visible

False

Создается форма приложения обычным образом. Компонент Paneii используется в качестве экрана, на который осуществляется вывод анимации, и его имя принимается в качестве значения свойства Display компонента MediaPlayeri. Поэтому сначала к форме лучше добавить компонент Panel и затем — MediaPlayer. Такой порядок создания формы позволяет установить значение свойства Display путем выбора из списка.

Следует особо обратить внимание на то, что размер области вывода анимации на панели определяется не значениями свойств width и Height панели (хотя их значения должны быть как минимум такими же, как ширина и высота анимации). Размер области определяется значением свойства

DisplayRect компонента MediaPlayer. Свойство DisplayRect ВО время разработки программы недоступно (его значение не выводится в окне Object Inspector). Поэтому значение свойства DisplayRect устанавливается во время работы программы в результате выполнения инструкции

MediaPlayer1.DisplayReet:=Rect(0,0,60,60).

Замечание

Чтобы получить информацию о размере кадров AVI-файла, надо, используя возможности Windows, открыть папку, в которой находится этот файл, щелкнуть правой кнопкой мыши на имени файла, выбрать команду Свойства и в появившемся диалоговом окне — вкладку Сводка, в которой выводится подробная информация о файле, в том числе и размер кадров.

Текст программы приведен в листинге 11.4.

Листинг 11.4. Воспроизведение анимации, сопровождаемой звуком

uses

Windows, Messages, SysUtils,

Classes, Graphics, Controls,

Forms, Dialogs, MPlayer, StdCtrls, ExtCtrls;

type

TForm1 = class(TForm)

Label1: TLabel; // информационное сообщение

Panel1: TPanel; // панель, на которую выводится анимация

Button1: TButton; // кнопка OK

MediaPlayer1: TMediaPlayer; // универсальный проигрыватель

procedure ButtonlClick(Sender: TObject);

procedure FormCreate(Sender: TObject);

private

{ Private declarations ) public

{ Public declarations } end;

var

Form1: TForm1 ;

implementation

($R *.DFM}

procedure TForm1.ButtonlClick(Sender: TObject);

begin

MediaPlayer1.Play; // воспроизведение анимации

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

// зададим размер области вывода анимации

// на поверхности формы

MediaPlayer1.DisplayRect:=Rect(0,0,60,60);

end;

end.

Процесс воспроизведения анимации активизируется применением метода Play, что эквивалентно нажатию кнопки Play в случае, если кнопки компонента MediaPlayer доступны пользователю.