Использование звука и видео в приложениях. - Разработка Windows-приложений в среде Borland Delphi

Цель Работы Получить навыки использования медиаплеера при проектировании приложений.

Пояснения к работе

Компонент MediaPlayer (рис.1), значок которого находится на вкладке System, позволяет воспроизводить видеоролики, звук и сопровождаемую звуком анимацию.

Рис. 1

В результате добавления к форме компонента MediaPlayer на форме появляется группа кнопок (рис. 2), подобных тем, которые можно видеть на обычном аудио - или видеоплеере. Назначение этих кнопок пояснено в таблице 1.

компонент mediaplayer

Рис. 2 Компонент MediaPlayer

Таблица 1

Кнопки компонента MediaPlayer

Кнопка

Обозначение

Действие

Воспроизведение

BtPlay

Воспроизведение звука или видео

Пауза

BtPause

Приостановка воспроизведения

Стоп

BtStop

Остановка воспроизведения

Следующий

BtNext

Переход к следующему кадру

Предыдущий

BtPrev

Переход к предыдущему кадру

Шаг

BtStep

Переход к следующему звуковому фрагменту, например, к следующей песне на CD

Назад

BtBack

Переход к предыдущему звуковому фрагменту, например, к предыдущей песне на CD

Запись

BtRecord

Запись

Открыть/Закрыть

BtEject

Открытие или закрытие CD-дисковода компьютера

Таблица 2

Свойства компонента MediaPiayer

Свойство

Описание

Name

DeviceType

FileName

AutoOpen

Display

VisibleButtons

Имя компонента. Используется для доступа к свойствам компонента и управлением работой плеера

Тип устройства. Определяет конкретное устройство, которое представляет собой компонент MediaPiayer. Тип устройства задается именованной константой: dtAutoSelect -- тип устройства определяется автоматически; dtVaweAudio -- проигрыватель звука; dtAVivideo -- видеопроигрыватель; dtCDAudio -- CD-проигрыватель

Имя файла, в котором находится воспроизводимый звуковой фрагмент или видеоролик

Признак автоматического открытия сразу после запуска программы, файла видеоролика или звукового фрагмента

Определяет компонент, на поверхности которого воспроизводится видеоролик (обычно в качестве экрана для отображения видео используют компонент Panel)

Составное свойство. Определяет видимые кнопки компонента. Позволяет сделать невидимыми некоторые кнопки

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

Постановка задачи

Разработать приложение, позволяющее воспроизводить звуковые файлы различных форматов, приложение должно выводить информацию о длине звукового файла, времени воспроизведения и времени, которое осталось до конца звучания файла.

Порядок выполнения 1 часть

Создать новый проект.

Для формы установить следующие значения свойств:

Borderlcons / biMaximize False

BorderStyle bsSingle

Caption Позолоченный граммофон

Color СlGray

Position poScreenCenter

Установить на форму компонент MediaPlayer (System), для свойства Visible установите значение False.

Установитm на форме следующие компоненты: шесть кнопок, четыре метки, таймер, компонент для открытия файлов/

Примечание:

В Label1 (самый большой индикатор) будет показываться текущая позиция в файле.

В Label2 (справа сверху) должно отображаться имя открытого файла

В Label3 (справа в середине) - длина открытого файла

В Label4 - сколько осталось времени до конца файла.

Для всех меток установить значение свойства AutoSize = False

Привести форму в соответствие с образцом.

Для всех кнопок установить значение свойства Cursor CrHandPoint

Самостоятельно изменить интерфейс проекта (цвет, шрифты) и сохранить.

Для инициализации объектов для Form выберите событие OnActivate и введите код

Label1.Font. Color:= clGreen; Label2.Font. Color:= clGreen;

LabeL3.Font. Color:= clGreen; Label4.Font. Color:= clGreen;

Label1.Caption:= '00:00'; Label2.Caption:= 'no file...';

LabeL3.Caption:= '00:00'; LabeL4.Caption:= '00:00';

//задание фильтра для OpenDialog

OpenDialog1.Filter:= 'Wav files (*.wav)|*.WAV';

Определите процедуру, которая выполняется при открытии звукового файла (кнопка OPEN)

If OpenDialog1.Execute=true Then

Begin

MediaPlayer1.FileName:= OpenDialog1.FileName;

MediaPlayer1.Open; // открываем файл

Label1.Font. Color:= clLime; // включаем индикаторы

Label2.Font. Color:= clLime;

LabeL3.Font. Color:= clLime;

Label4.Font. Color:= clLime;

Output; // присваиваем индикаторам значения

Timer1.Enabled:=True;

Создать новую функцию MusicToStr и процедуру Output, которая преобразует длину файла, текущую позицию или количество оставшегося до конца звучания времени в форму, легкую для восприятия.

Function TForm1.MusicToStr(n: longint): string;

Var

S: string; //рабочая переменная для формирования удобочитаемых значений индикаторов

Min, sec: Longint;

Begin

//получаем секунды и минуты из миллисекунд

Sec:= trunc(n/1000);

Min:= trunc(sec/60);

Sec:= sec - min*60;

S:= IntToStr(min);

// добавляем в строку 0, если секунд больше десяти // чтобы получилось 2:06, а не значение 2:6;

If sec<10 Then

S:= s + ':0' + IntToStr(sec)

Else

S:= s + ':' + IntToStr(sec);

MusicToStr:= s;

End;

Procedure TForml. Output; //вывод значений на индикаторы

Var

Leng, posit, remain: longint; // длина файла, позиция в файле и оставшееся время

Begin

//читаем свойства проигрывателя

Leng:= MediaPlayer1.Length;

Posit:= MediaPlayer1.Position;

Remain:= leng - posit;

Label1.Caption:= MusicToStr(posit);

Label2.Caption:= MediaPlayer1.FileName;

Label3.Caption:= MusicToStr(leng);

Label4.Caption:= MusicToStr(remain);

End;

Объявить созданные процедуру и функцию:

Function MusicToStr(n: longint): string;

Procedure Output;

13. Определите процедуру, которая выполняет проигрывание звукового файла(кнопка PLAY):

If mpCanPlay in MediaPlayer1.Capabilities Then MediaPlayer1.Play;

13. Для кнопок STOP и PAUSE ввести соответствующий код:

If mpCanPlay in MediaPlayer1.Capabilities Then

Begin

MediaPlayer1.Stop;

MediaPlayer1.Position:= 0;

End;

If mpCanPlay in MediaPlayer1.Capabilities Then MediaPlayer1.Pause;

14. Ввести код для кнопок перемотки вперед и назад:

//кнопка перемотки вперед

If mpCanPlay in MediaPlayer1.Capabilities Then

Begin

If (MediaPlayer1.Position+10000)<=MediaPlayer1.Length Then

MediaPlayer1.Position:= MediaPlayer1.Position + 10000

Else

MediaPlayer1.Position:= MediaPlayer1.Length;

MediaPlayer1.Play;

End;

//кнопка перемотки назад

Begin

If mpCanPlay in MediaPlayer1.Capabilities Then

Begin

If MediaPlayer1.Position>=10000 then

MediaPlayer1.Position:= MediaPlayer1.Position -10000

Else

MediaPlayer1.Position:= 0;

MediaPlayer1.Play;

End;

Для объекта Таймер установить значения свойства Interval= 1000, Enabled = False, выберить событие OnTimer и ввести вызов процедуры OutPut.

Добавить в конец процедуры Button1Click строку Timerl. Enabled:=True;

Проверить работу приложения.

Самостоятельно модернизировать приложение для воспроизведения звуковых файлов различных форматов.

Проект сохранить. Результат показать преподавателю.

    2 часть 1. Создать новый проект. 2. На форме установить компоненты: одну кнопку (для открытия файлов), один компонент MediaPlayer, одну рамку GroupBox (Standard), один диалог для открытия файлов 3. Всем объектам изменить свойств в соответствии с таблицей:

Компонент

Свойство

Значение

Forml

BorderIcons/biMaximize bibiMaximize

False

BorderStyle

BsSingle

Caption

Телевизор "СОНЯ"

Height

356

Width

351

Button 1

Caption

Открыть

Left

3

Top

296

MediaPlayer1

Left

88

Top

296

GroupBox

Caption

Height

289

Width

337

Left

3

Top

0

    4. Сравните свою форму с образцом 5. Для кнопки Открыть ввести код:

If OpenDialog1.Execute=true then

Begin

MediaPlayer1.FileName:= OpenDialog1.FileName;

MediaPIayer1.Open;

End;

6. Для формы выберите событие OnActivate и ввести код:

//назначаем область просмотра для видеофайла

MediaPlayer1.Display:= GroupBox1;

7. Проверьте работу приложения

ПРАКТИЧЕСКАЯ РАБОТА № 9

Похожие статьи




Использование звука и видео в приложениях. - Разработка Windows-приложений в среде Borland Delphi

Предыдущая | Следующая