Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Лекция 2 «Первые простые программы».
Медиа-плеер.
Сейчас мы разработаем медиа-плеер, с помощью которого можно будет просматривать видео-файлы популярных форматов (включая фильмы) и слушать музыку (формат .mp3, .wav и т.д.).
Форма будет небольшой, поскольку сам видео-ролик будет воспроизводиться в новом окне, а для организации прослушивания музыки много места не потребуется
Присвойте значения некоторым свойствам формы Forml согласно таблице.
Свойство |
Значение |
Пояснение |
Caption |
Медиа-плеер |
Заголовок формы |
Height |
125 |
Высота формы |
Width |
375 |
Ширина формы |
Position |
poScreenCenter |
При запуске приложения форма размещается в центре экрана |
Formstyle |
fsStayOnTop |
Форма всегда должна располагаться поверх остальных окон для удобства использования средств навигации при просмотре фильма |
BorderStyle |
bsDialog |
Будут сокрыты кнопки сворачивания и восстановления формы. Кроме того, будет невозможно изменить размеры окна |
Этот компонент будем использовать для ввода пути к видео-файлу.
Присвоим свойствам компонента Edit1 значения согласно таблице.
Свойство |
Значение |
Пояснение |
Text |
C:\Windows \Media\Вход в Windows.wav |
укажем путь к файлу, который должен загружаться в плеере по умолчанию, |
Left |
4 |
Отступ слева |
'Гор |
4 |
Отступ сверху |
Width |
285 |
Ширина поля |
Font.Size |
10 |
Шрифт |
Свойства |
Значение |
Пояснение |
Caption |
Обзор |
Надпись на кнопке |
Свойства |
Значение |
Name |
Scroll |
Left |
4 |
Тор |
36 |
Width |
361 |
Свойства панелей, отвечающих в медиа-плеере за навигацию
Свойство |
Для какой панели |
Пояснение |
||||
Play |
Pause |
Back |
Forward |
Stop |
||
Caption |
Воспроизведение |
Пауза |
Назад |
Вперед |
Остановить |
Надпись на панели |
Left |
4 |
119 |
174 |
229 |
284 |
|
Top |
78 |
78 |
78 |
78 |
78 |
|
Height |
25 |
25 |
25 |
25 |
25 |
Высота |
Width |
117 |
57 |
57 |
57 |
78 |
Ширина |
BevelInner |
bvRaised |
Внутренний край границы приподнятый |
||||
BevelOuter |
bvLowered |
Внешний край границы утопленный |
Свойству Timer1. Enabled ("доступный") присвоим значение False ("нет"), а свойству Interval значение 100 (обработка события OnTimer через каждые 100 миллисекунд).
Имя компонента OpenDialog свойство Name изменим на Open1, а свойству Filter ("фильтр") присвоим значение Все файлы | *.* (это означает, что при вызове диалогового окна выбора файла будут отображены все файлы). При желании, можно свойству Open1. FileName присвоить имя того медиа-файла, который должен выбираться по умолчанию.
Фактически, в нашем плеере функции кнопок назначаются панелям Play, Pause, Back, Forward и Stop, поэтому свойству MediaPlayer1.Visible можно присвоить значение False это означает, что стандартные кнопки компонента MediaPlayer во время выполнения программы будут скрыты.
procedure TForml.PlayClick(Sender: TObject);
begin
//связываем плеер с файлом
MediaPlayer1.FileName := Edit1.text;
//инициализируем устройство
MediaPlayer1.Open;
//воспроизводим
MediaPlayer1.Play;
//устанавливаем границы прокрутки
Scroll.Max := MediaPlayer1.TrackLength[1];
//активизируем таймер
Timer1.Enabled := True;
end;
procedure TForml.PauseClick(Sender: TObject);
begin
MediaPlayer1.Pause;
end;
procedure TForml.BackClick(Sender: TObject);
begin
//переводим на 100 кадров назад
MediaPlayer1.Position := MediaPlayer1.Position - 10000;
//и продолжаем воспроизведение
MediaPlayerl.Play;
end;
procedure TForml.ForwardClick(Sender: TObject);
begin
//переводим на 100 кадров вперед
MediaPlayer1.Position := MediaPlayer1.Position + 10000;
//и продолжаем воспроизведение
MediaPlayer1.Play
end;
procedure TForml.StopClick(Sender: TObject);
begin
//останавливаем
MediaPlayer1.Stop;
//и делаем первый кадр текущим
MediaPlayer1.Position := 1;
end;
procedure TForm1. PlayMouseDown (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
Play.BevelInner := bvLowered;
end;
procedure TForm1.PlayMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
Play.BevelInner := bvRaised;
end;
procedure TForml.Timer1Timer(Sender: TObject);
begin
Scrol1.Position := MediaPlayer1.Position;
end;
Здесь мы просто перемещаем бегунок компонента ТгаскВаг в соответствии с позицией в воспроизводимом файле.
procedure TForml.ButtonlClick(Sender: TObject);
begin
if not Open1.Execute
then ShowMessage('Файл не выбран!')
else Edit1.Text := Open1.FileName;
end;
В первой строке выполняется проверка, выбрал ли пользователь какой-либо файл или нажал кнопку Отмена. Если файл не выбран, то отображается соответствующее окно сообщения (процедура ShowMessage), в противном случае определяем полный путь к выбранному файлу (свойство FileName) и записываем его в поле Editl.
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) текст.
Для компиляции программы с последующим ее выполнением можно нажать клавишу <F9>, щелкнуть на кнопке Run панели инструментов или выполнить команду меню Run Run.
PAGE 6