begin
//Временное выключение таймера
tmTimer.Enabled := false;
//Задание значений
lbMainTime.Caption := \'00:00\
lbFileName.Caption := \'no file…\
// Установка фильтров для диалога
opdOpenDialog.Filter :=
\'MP3 music (*.mp3)|*.MP3|Wav files (*.wav)|*.WAV\
end;
Перемотка осуществляется при помощи двух кнопок. Для перемотки вперед на десять секунд необходимо нажать», назад – «(листинги 5.11 и 5.12).
...
Листинг 5.11.
Перемотка вперед
procedure TSoundPlayerForm.bnNextStClick(Sender: TObject);
begin
if mpCanPlay in mdpSoundPlayer.Capabilities then
begin
if (mdpSoundPlayer.Position+perem)<=mdpSoundPlayer.Length then
mdpSoundPlayer.Position := mdpSoundPlayer.Position + perem
else
mdpSoundPlayer.Position := mdpSoundPlayer.Length;
mdpSoundPlayer.Play;
end;
end;
...
Листинг 5.12.
Перемотка назад
procedure TSoundPlayerForm.bnPrevStClick(Sender: TObject);
begin
if mpCanPlay in mdpSoundPlayer.Capabilities then
begin
if mdpSoundPlayer.Position>=perem then
mdpSoundPlayer.Position := mdpSoundPlayer.Position – perem
else
mdpSoundPlayer.Position := 0;
mdpSoundPlayer.Play;
end;
end;
Таким образом, разработанный проигрыватель располагает набором минимальных функций и возможностей. Но он обладает важным преимуществом, а именно простотой реализации. Как вы могли заметить, созданная программа может проигрывать и МРЗ-файлы. Это становится возможным благодаря использованию специального программного обеспечения – кодеков, установленных в операционной системе. Современная и достаточно распространенная операционная система Windows ХР содержит такие кодеки в комплекте базовой поставки. При использовании созданного проигрывателя в других операционных системах типа Windows, вероятно, понадобится самостоятельная установка кодеков.
На этом этапе принцип построения проигрывателя звуковых записей вам известен. Что касается просмотра видеозаписей, то благодаря универсальности компонента MediaPLayer он схож с воспроизведением звуковых файлов.
Не менее интересной задачей, рассмотренной в рамках этой главы, является разработка проигрывателя видеофайлов. Форматов видео присутствует достаточно большое количество, но самым распространенным из них, несомненно, является AVI. Учитывая этот факт, разработаем проигрыватель видеофайлов в AVI-фор-мате.
Учитывая то, что среда Delphi предоставляет высокоуровневый доступ к мультимедийным возможностям компьютера, сам принцип построения проигрывателя не меняется. Как и в случае со звуковым проигрывателем, будет использоваться знакомый вам ранее компонент MediaPLayer. Особенностью воспроизведения видео является только вывод изображения на экран в дополнение к звуковому сопровождению. Таким образом, необходимо определить, какие именно компоненты могу т служить в качестве контейнеров для воспроизведения в них видеопотока.
Приступим к созданию проигрывателя видео (рис. 5.4). Как и в случае звукового проигрывателя, нам понадобятся: компонент MediaPLayer, диалог для открытия файлов OpenDiaLog,компонент-контейнер для вывода изображения (используем GroupBox).Настраиваем форму приложения. Убираем кнопку максимизации, в данном случае она является лишней: присваиваем свойству biMaximaze, которое находится на вкладке Borderlcons, значение False. Устанавливаем BorderStyle равным bsSingle. Это не позволит пользователю изменять размеры формы. Для удобства использования проигрыватель появляется в центре экрана, следовательно, свойство Position устанавливаем KaKpoScreenCenter. В компоненте MediaPLayer оставляем видимыми только кнопки начала, паузы и остановки воспроизведения (аналогичным образом, как в проигрывателе звука). Помещаем на форму компонент GroupBox,свойство Caption устанавливаем пустой строкой, так как именно в этот компонент будет выводиться изображение.
Рис. 5.4. Вид видеопроигрывателя
Рассмотрим некоторые особенности созданного видеопроигрывателя. В качестве элемента-контейнера для динамического изображения использовался компонент GroupBox,поэтому его необходимо было назначить элементом вывода видео для MediaPLayer. Этот процесс сводится к присваиванию свойству Display компонента MediaPLayer экземпляра компонента GroupBox.Происходит это во время активизации формы (листинг 5.13).
...
Листинг 5.13.
Назначение элемента вывода изображения
procedure TFormVideoPlayer.FormActivate(Sender: TObject);
begin
//Устанавливаем область воспроизведения
Читать дальше
Конец ознакомительного отрывка
Купить книгу