Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы IT / ЛабаDelphi13.doc
Скачиваний:
62
Добавлен:
06.02.2015
Размер:
287.23 Кб
Скачать

Создадим обработчик события onNotify компонента MediaPlayer1

Создайте данный обработчик события и напишите там следующее:

if (MediaPlayer1.Mode=mpPaused) {Если режим воспроизведении находится в состоянии Паузы, тогда}

then

timer1.Enabled:=false; {останавливаем перемещение указателя TrackBar1 путем перевода таймера в неактивное состояние}

if (MediaPlayer1.Mode=mpStopped) {Если режим воспроизведении находится в состоянии Остановки, тогда}

then

begin

timer1.Enabled:=false; {останавливаем перемещение указателя TrackBar1 }

TrackBar1.Position:=0; {устанавливаем его позицию в ноль}

MediaPlayer1.Rewind; { переходим в начало видеофайла }

end;

if (MediaPlayer1.Mode=mpPlaying) {Если режим воспроизведении находится в состоянии Проигрывания, тогда}

then timer1.Enabled:=true; {активируем перемещение указателя TrackBar1 путем перевода таймера в активное состояние}

Вот и всё. Запустите программу щелкните на кнопке Button1, затем с помощью диалогового окна выберите нужный видеофайл *.avi или музыкальный файл *.mp3 и нажмите OK. Начнётся проигрывание. Щелкайте на кнопках Play, Pause и Stop. В состоянии паузы переместите указатель и снова нажмите Play. Программа должна работать правильно. Вернитесь в режим программирования.

13.2. Вывод видео на стандартные компоненты Delphi.

Описание свойства DeviceType компонента MediaPlayer1.

Задание 13.2.1 в этом же проекте перенаправим видеопоток либо на Button1 либо на Panel1.

Создайте новый проект. Растяните немножко кнопку Button1. Сбросьте на форму следующие компоненты (рис. 13.4):

Компонент

Свойство

Значение свойства

CheckBox1

Caption

Видео или в Button1 или в Panel1

Panel1

Caption

VIDEO

Label1

Caption

Выберите тип устройства

ComboBox1

Text

dtAutoSelect

Рис. 13.4 Добавляем несколько компонентов в программу

«Мой Проигрыватель»

Создайте обработчик события onClick компонента ComboBox1 и напишите там всего лишьодно выражение:

if CheckBox1.Checked then MediaPlayer1.Display:=Button1

else MediaPlayer1.Display:=Panel1;

То есть если CheckBox1 выбран, то видеоизображение будет направлено на кнопку Button1, а иначе будет выводиться на поверхность компонента Panel1.

Здесь используется свойство Display класса TWinControl определяющее компонент на который будет выводиться изображение. Таким образом, любой компонент являющийся наследником класса TWinControl может стать «экраном» для отображения видео. Чтобы в этом убедиться, в дальнейшем попробуйте самостоятельно добавить любой компонент этого класса и присвойте его имя свойству Display.

Запустите программу. Щелкайте на CheckBox1. при каждом щелчке изображение должно перепрыгивать с одного компонента на другой (рис. 13.5). Вернитесь в режим программирования.

Рис. 13.5 Программа «Мой Проигрыватель» в режиме выполнения

Задание 13.2.2 В этом же проекте используя выпадающий список ComboBox1 добавим возможность пользователю выбирать тип устройства которым будет управлять MediaPlayer1

Это можно сделать с помощью свойства DeviceType компонента MediaPlayer1. Это свойство по умолчанию имеет значение dtAutoSelect – автоматический выбор устройства, то есть автоматически определяет тип используемого драйвера на основании расширения имени файла в системном реестре Windows.

Так как свойства DeviceType имеет тип TMPDeviceTypes, то чтобы конкретно задать тип используемого устройства, нужно просто присвоить свойству DeviceType одно из значений типа TMPDeviceTypes

Описание свойства DeviceType

property DeviceType: TMPDeviceTypes read FDeviceType write SetDeviceType default dtAutoSelect;

Описание типа TMPDeviceTypes

TMPDeviceTypes = (dtAutoSelect, dtAVIVideo, dtCDAudio, dtDAT, dtDigitalVideo, dtMMMovie, dtOther, dtOverlay, dtScanner, dtSequencer, dtVCR, dtVideodisc, dtWaveAudio);

Поэтому, чтобы произвести выбор нужного устройства щелкните двойным щелчком на свойстве Items компонента ComboBox1 и внесите в появившееся окно String List Editor все значения типа TMPDeviceTypes, данное окно должно выглядеть так:

Рис. 13.6 Окно String List Editor со всеми значениями типа TMPDeviceTypes

И нажмите OK.

Теперь при щелчке на ComboBox1 будет выпадать список с содержимым данного окна.

Далее требуется запрограммировать присвоение свойству DeviceType выбранное из ComboBox1 значение, поэтому создайте обработчик события onChange компонента ComboBox1 и напишите там следующий код:

case ComboBox1.ItemIndex of

0: MediaPlayer1.DeviceType:=dtAutoSelect;

1: MediaPlayer1.DeviceType:=dtAVIVideo;

2: MediaPlayer1.DeviceType:=dtCDAudio;

3: MediaPlayer1.DeviceType:=dtDAT;

4: MediaPlayer1.DeviceType:=dtDigitalVideo;

5: MediaPlayer1.DeviceType:=dtMMMovie;

6: MediaPlayer1.DeviceType:=dtOther;

7: MediaPlayer1.DeviceType:=dtOverlay;

8: MediaPlayer1.DeviceType:=dtScanner;

9: MediaPlayer1.DeviceType:=dtSequencer;

10: MediaPlayer1.DeviceType:=dtVCR;

11: MediaPlayer1.DeviceType:=dtVideodisc;

12: MediaPlayer1.DeviceType:=dtWaveAudio;

end;

Здесь мы используем оператор выбора case по значению свойства ItemIndex компонента ComboBox1. ItemIndex определяет номер выбранной строки свойства Items.

Вот и всё. Программа готова. Запустите ее на выполнение. Выбирайте тип используемого устройства. Программа должна работать правильно. Вернитесь в режим программирования.

Соседние файлы в папке Лабы IT