Свойства панелей, отвечающих в медиа-плеере за навигацию




Лекция 2 «Первые простые программы».

Медиа-плеер.

Сейчас мы разработаем медиа-плеер, с помощью которого можно будет просматривать видео-файлы популярных форматов (включая фильмы) и слушать музыку (формат.mp3,.wav и т.д.).

 

1. Загрузите систему визуального программирования Delphi. Для запуска системы визуального программирования Delphi щелкают на пиктограмме Delphi или с помощью главного меню выбирают Пуск => Программы => Borland Delphi 7 => Delphi 7. В результате на экране откроются 5 окон:

ü главное окно Delphi 7 - Projectl, где находятся панель инструментов, палитра компонентов и главное меню.

ü окно инспектора объектов Object Inspector со значениями свойств активного объекта,

ü окно формы (Forml), в котором будут приведены результаты работы будущей программы,

ü окно дерева объектов (Object Tree View)

ü окно проводника кода Code Explorer совместно с окном редактора кода (Unitl.pas).

2. Создайте новый проект приложения: выполните команду меню File ðNew ð Application.

2.1. Разработка формы.

Форма будет небольшой, поскольку сам видео-ролик будет воспроизводиться в новом окне, а для организации прослушивания музыки много места не потребуется

Присвойте значения некоторым свойствам формы Forml согласно таблице.

Свойство Значение Пояснение
Caption Медиа-плеер Заголовок формы
Height   Высота формы
Width   Ширина формы
Position poScreenCenter При запуске приложения форма размещается в центре экрана
Formstyle fsStayOnTop Форма всегда должна располагаться поверх остальных окон для удобства использования средств навигации при просмотре фильма
BorderStyle bsDialog Будут сокрыты кнопки сворачивания и восстановления формы. Кроме того, будет невозможно изменить размеры окна

2.2. Теперь разместим на форме компонент Edit (текстовое поле) со вкладки Standard палитры компонентов.

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

Присвоим свойствам компонента Edit1 значения согласно таблице.

Свойство Значение Пояснение
Text C:\Windows \Media\Вход в Windows.wav укажем путь к файлу, который должен загружаться в плеере по умолчанию,
Left   Отступ слева
'Гор   Отступ сверху
Width   Ширина поля
Font.Size   Шрифт

2.3. Справа от поля Edit1 разместим кнопку — компонент Button со вкладки Standard палитры компонентов. Эта кнопка будет использоваться для выбора файла через стандартное окно обзора, поэтому свойству Button1.Caption присвоим значение

Свойства Значение Пояснение
Caption Обзор Надпись на кнопке

 

2.4. Ниже разместим средство прокрутки — компонент TrackBar со вкладки Win32 палитры компонентов.

Свойства Значение
Name Scroll
Left  
Тор  
Width  

 

2.5. Под компонентом Scroll разместим средства навигации - пять компонентов Panel ("панель") со вкладки Standard палитры компонентов . Свойствам Name компонентов Panel присвоим значения Play, Pause, Back, Forward и Stop соответственно. Значения остальных свойств, которые необходимо изменить, установим согласно таблице.

Свойства панелей, отвечающих в медиа-плеере за навигацию

Свойство Для какой панели Пояснение
Play Pause Back Forward Stop
Caption Воспроизведение Пауза Назад Вперед Остановить Надпись на панели
Left            
Top            
Height           Высота
Width           Ширина
BevelInner bvRaised   Внутренний край границы — приподнятый
BevelOuter bvLowered   Внешний край границы — утопленный
                             

2.6. Теперь разместим на форме важные компоненты, которые для пользователя будут невидны. Прежде всего, это — компонент Timer со вкладки System палитры компонентов .

Свойству Timer1. Enabled ("доступный") присвоим значение False ("нет"), а свойству Interval — значение 100 (обработка события OnTimer через каждые 100 миллисекунд).

2.7. Разместим на форме компонент OpenDialog со вкладки Dialogs.

Имя компонента OpenDialog свойство Name изменим на Open1, а свойству Filter ("фильтр") присвоим значение Все файлы | *.* (это означает, что при вызове диалогового окна выбора файла будут отображены все файлы). При желании, можно свойству Open 1. FileName присвоить имя того медиа-файла, который должен выбираться по умолчанию.

2.8. Теперь разместим на форме самый важный компонент нашей программы — MediaPlayer со вкладки System . Сразу же будет предложена панель, на которой размещены все кнопки, выполняющие функции плеера.

Фактически, в нашем плеере функции кнопок назначаются панелям Play, Pause, Back, Forward и Stop, поэтому свойству MediaPlayer1.Visible можно присвоить значение False — это означает, что стандартные кнопки компонента MediaPlayer во время выполнения программы будут скрыты.

3. События панелей навигации

3.1. Обработаем событие щелчка мышью на каждой из панелей (событие OnClick). Для Play обработчик этого события выглядит следующим образом:

procedure TForml.PlayClick(Sender: TObject);

begin

//связываем плеер с файлом

MediaPlayer1.FileName:= Edit1.text;

//инициализируем устройство

MediaPlayer1.Open;

//воспроизводим

MediaPlayer1.Play;

//устанавливаем границы прокрутки

Scroll.Max:= MediaPlayer1.TrackLength[1];

//активизируем таймер

Timer1.Enabled:= True;

end;

3.2. Для панели Pause обработчик события OnClick содержит всего лишь одну строку

procedure TForml.PauseClick(Sender: TObject);

begin

MediaPlayer1.Pause;

end;

3.3. Для панели Back:

procedure TForml.BackClick(Sender: TObject);

begin

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

MediaPlayer1.Position:= MediaPlayer1.Position - 10000;

//и продолжаем воспроизведение

MediaPlayerl.Play;

end;

3.4. Для прокрутки вперед — все то же самое, но 100 не отнимается, прибавляется

procedure TForml.ForwardClick(Sender: TObject);

begin

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

MediaPlayer1.Position:= MediaPlayer1.Position + 10000;

//и продолжаем воспроизведение

MediaPlayer1.Play

end;

3.5. событие OnClick кнопки Stop

procedure TForml.StopClick(Sender: TObject);

begin

//останавливаем

MediaPlayer1.Stop;

//и делаем первый кадр текущим

MediaPlayer1.Position:= 1;

end;

3.6. Теперь обработаем событие щелчка мышью для каждой из панелей навигации: Play, Pause, Back, Forward и Stop, чтобы они могли срабатывать как кнопки. Для этого необходимо создать обработчик события OnMouseDown, которое возникает в момент нажатия над панелью кнопки мыши (именно этого события, а не Onclick, поскольку нам потребуется отслеживать и момент отпускания кнопки мыши). Двойной щелчок в поле выбора процедуры обработчика события OnMouseDown дает возможность написать текст программы, данный ниже.

3.6.1. Эти процедуры вставляем в программу перед процедурой Onclick для каждой клавиши и не забываем включить их заголовки (без слова TForm1)в разделе interface.

procedure TForm1. PlayMouseDown (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

Play.BevelInner:= bvLowered;

end;

3.6.2. Теперь создадим для этой панели обработчик событие для ОnMouseUp, которое возникает при отпускании кнопки мыши

procedure TForm1.PlayMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin

Play.BevelInner:= bvRaised;

end;

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

 

3.7. Создадим обработчик события OnTimer компонента Timer

procedure TForml.Timer1Timer(Sender: TObject);

begin

Scrol1.Position:= MediaPlayer1.Position;

end;

Здесь мы просто перемещаем бегунок компонента ТгаскВаг в соответствии с позицией в воспроизводимом файле.

3.8. Теперь создадим обработчик событая OnClilck кнопки Обзор

procedure TForml.ButtonlClick(Sender: TObject);

begin

If not Open1.Execute

then ShowMessage('Файл не выбран!')

else Edit1.Text:= Open1.FileName;

end;

В первой строке выполняется проверка, выбрал ли пользователь какой-либо файл или нажал кнопку Отмена. Если файл не выбран, то отображается соответствующее окно сообщения (процедура ShowMessage), в противном случае определяем полный путь к выбранному файлу (свойство FileName) и записываем его в поле Editl.

4. Обработка параметров запуска

4.1. Последнее, что мы сделаем — реализуем возможность открывать при помощи нашей программы видео- или аудио-файл, имя которого указано в качестве параметра запуска. Для этого в обработчик события OnCreate формы добавим следующий код:

procedure TForml.FormCreate(Sender: TObject);

Var

Str:String;

i:Integer;

begin

if ParamCount > 0 then

Begin

Str:= ParamStr(1);

for i:= 2 to ParamCount do

Str:= Str + ' ' + ParamStr(i);

end;

if Str <> ' ' then

Begin

Editl.Text:= Str;

Play.OnClick (Self);

end;

end;

Здесь все просто: сначала делаем проверку, передаются ли программе какие-либо параметры (if ParamCount > 0), а затем, если эти параметры присутствуют, начинаем обрабатывать их как обычный (введенный в Edit) текст.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-15 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: