Лабораторная работа

Тема: Мультимедиа возможности Delphi. (6 часов)

Цель: Отработка практических навыков  создания DELPHI-приложения с использованием компонентов  TImage, TChart, TMediaPlayer.

Лабораторная работа №4  

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

            Delphi позволяет легко и просто включать в программу такие мультимедийные объекты, как звуки, видео и музыку. В данной работе рассмотрим, как это сделать, используя встроенный в Delphi компонент TMediaPlayer.

Что такое мультимедиа?

            Точного определения, что же это такое, нет. Но в данный момент и в данном месте, наверное, лучше дать по-возможности наиболее общее определение и сказать, что “мультимедиа” - это термин относящийся к почти всем формам анимации, звукам, видео, которые используются на компьютере.

            Давая такое общее определение, можно сказать, что мы имеем дело с подмножеством мультимедиа, которое включает:

1.       Показ видео в формате Microsoft's Video for Windows (AVI).

2.       Воспроизведение звуков и музыки из MIDI и WAVE файлов.

Данную задачу можно выполнить с помощью динамической библиотеки Microsoft Multimedia Extensions для Windows (MMSYSTEM.DLL), методы которой инкапсулированы в компоненте TMediaPlay, находящейся на странице System Палитры Компонент Delphi.

            Для проигрывания файлов мультимедиа может потребоваться наличие некоторого оборудования и программного обеспечения. Так для воспроизведения звуков нужна звуковая карта. Для воспроизведения AVI в Windows требуется установить ПО Microsoft Video.

Мультимедиа в Delphi

            В Delphi есть компонент TMediaPlayer, который дает Вам доступ ко всем основным возможностям программирования мультимедиа. Данный компонент очень прост в использовании.        Простоту использования можно воспринимать двояко:

     С одной стороны - это дает возможность любому создавать мультимедиа приложения.

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

            Компонент TMediaPlayer

            Для начала создайте новый проект, затем поместите компонент TMediaPlayer (стр. System Палитры) на форму, как показано на рис.1.

image

Рис.1: Компонент TMediaPlayer на форме.

Компонент TMediaPlayer оформлен, как панель управления устройством с кнопками. Как и на магнитофоне, здесь есть кнопки “воспроизведение”, “перемотка”, “запись” и др.

            Поместив компонент на форму, Вы увидите, что Инспектор Объектов содержит свойство "FileName" (см. рис.2). Щелкните дважды

image

Рис.2: Свойства TMediaPlayer в Инспекторе Объектов

на этом свойстве и выберите имя файла с расширением AVI, WAV или MIDI. На рис.2 выбран AVI файл DELPHI.AVI. Далее нужно установить свойство AutoOpen в True.

            После выполнения этих шагов программа готова к запуску. Запустив программу, нажмите зеленую кнопку “воспроизведение” (крайняя слева) и Вы увидите видеоролик (если выбрали AVI) или услышите звук (если выбрали WAV или MID). Если этого не произошло или появилось сообщение об ошибке, то возможны два варианта:

1.      Вы ввели неправильное имя файла.

2.      Вы не настроили правильным образом мультимедиа в Windows. Это означает, что либо у Вас нет соответствующего ”железа”, либо не установлены нужные драйверы. Установка и настройка драйверов производится в Control Panel, требования к “железу” приводятся в любой книге по мультимедиа (нужна звуковая карта, например совместимая с Sound Blaster).

            Итак, Вы имеете возможность проигрывать AVI, MIDI и WAVE файлы просто указывая имя файла.

            Еще одно важное свойство компонента TMediaPlayer - Display.  Изначально оно не заполнено и видео воспроизводится в отдельном окошке. Однако, в качестве экрана для показа ролика можно использовать, например, панель. На форму нужно поместить компонент Tpanel (находится в палитре SYSTEM),  убрать текст из св-ва Caption. Далее, для TMediaPlayer, в свойстве Display выбрать из списка Panel1. После этого надо запустить программу и нажать кнопку “воспроизведение” (см. рис.3)

 

image

Рис.3. Воспроизведение AVI на панели.

            Два вида программ мультимедиа

                      Иногда приходится предоставлять пользователям простой путь для проигрывания максимально широкого круга файлов. Это означает, что Вам нужно будет дать пользователю доступ к жесткому диску или CD-ROM, и затем позволить ему выбрать и воспроизвести подходящий файл. В этом случае, на форме обычно располагается TMediaPlayer, предоставляющий возможность управления воспроизведением.

          Иногда программист может захотеть скрыть от пользователя существование компонента TMediaPlayer. То есть, воспроизвести звук или видео без того, чтобы пользователь заботился об их источнике. В частности, звук может быть частью презентации. Например, показ какого-нибудь графика на экране может сопровождаться объяснением, записанным в WAV файл. В течении презентации пользователь даже не знает о существовании TMediaPlayer. Он работает в фоновом режиме. Для этого компонент делается невидимым (Visible = False) и управляется программно.

Пример программы с мультимедиа

Рассмотрим пример построения приложения с мультимедиа первого типа. Создайте новый проект (File | New Project). Поместите TMediaPlayer на форму; поместите компоненты TFileListBox, TDirectoryListBox, TDriveComboBox, TfilterComboBox (находятся на палитре Win3.1)для выбора файла. В свойстве FileList для DirectoryListBox1 и FilterComboBox1 поставьте FileListBox1. В св-ве DirList для DriveComboBox1 поставьте DirectoryListBox1.  В св-ве Filter для FilterComboBox1 укажите требуемые расширения файлов:

AVI File(*.avi)|*.avi

WAVE File(*.wav)|*.wav

MIDI file(*.MID)|*.mid

Пусть по двойному щелчку мышкой в FileListBox1 выбранный файл будет воспроизводиться. В обработчике события OnDblClick для  FileListBox1 укажите

Procedure TForm1.FileListBox1DblClick(Sender:TObject);

begin

  with MediaPlayer1 do

  begin

    Close;

    FileName:=FileListBox1.FileName;

    Open;

    Play;

  end;

end;

Внешний вид формы представлен на рис.4

image

Рис.4: Начальный вид проекта

Сохраните проект, запустите его, выберите нужный файл и дважды щелкните на него мышкой. MediaPlayer должен воспроизвести этот файл в отдельном окне.

Как уже говорилось выше, видеоролик можно воспроизводить внутри формы, например, на панели. Давайте слегка модифицируем проект и добавим туда панель TPanel (см. рис.5). В св-ве Display для MediaPlayer1 укажите Panel1. Нужно убрать надпись с панели (Caption) и св-во BevelOuter = bvNone. Чтобы переключаться при воспроизведении с окна на панель - поместите TСheckBox на форму и в обработчике события OnClick для него запишите:

procedure TForm1.CheckBox1Click(Sender: TObject);

var

  Start_From : Longint;

begin

  with MediaPlayer1 do begin

    if FileName='' then Exit;

    Start_From:=Position;

    Close;

    Panel1.Refresh;

 

    if CheckBox1.Checked then

      Display:=Panel1

    else

      Display:=NIL;

    Open;

    Position:=Start_From;

    Play;

  end;

end;

 

Запустите проект и воспроизведите видеоролик. Пощелкайте мышкой на CheckBox.

 

image

Рис.5: Добавлена панель для воспроизведения видео и переключатель окно/панель.

Во время выполнения программы может потребоваться отобразить текущее состояние объекта MediaPlayer и самого ролика (время, прошедшее с начала воспроизведения, длину ролика). Для этого у объекта TMediaPlayer есть соответствующие свойства и события: Length, Position, OnNotify и др. Давайте добавим в проект прогресс-индикатор (TGauge), который отобразит в процентах, сколько прошло времени (см. рис.6).  Для обновления показаний индикатора можно воспользоваться таймером. Поместите на форму объект Ttimer (панель SYSTEM), установите для него Interval = 100 (100 миллисекунд). В обработчике события OnTimer нужно записать:

 

procedure TForm1.Timer1Timer(Sender: TObject);

begin

  with MediaPlayer1 do

    if FileName<>'' then

      Gauge1.Progress:=Round(100*Position/Length);

end;

Запустите проект, выберите файл (AVI) и щелкните на нем два раза мышкой. При воспроизведении ролика прогресс-индикатор должен отображать процент, соответствующий прошедшему времени (см. рис.6).

 

image

Рис.6: Законченное приложение для воспроизведения AVI, WAV и MDI файлов.

 

 


Ұқсас жұмыстар

Информатикадан зертханалық және практикалық жұмыстарды өткізу әдістемесі
Биотехнологияда қолданылатын биологиялық нысандар пәнінің жұмыс бағдарламасы
MS Word көмегімен медициналық құжаттарды дайындау барысында мәтінмен жұмыс
Иммунитеттің әлсіреу себептері
ҮЙДЕ ОҚЫТЫЛАТЫН БАЛАЛАРДЫ ЖАЛПЫ БІЛІМ БЕРУ МЕКТЕБІНІҢ ОҚУ БАҒДАРЛАМАЛАРЫМЕН ОҚЫТУ
Қоршаған ортаға антропогендік факторлардың әсері
Информатикадан практикалық жұмыстар
Плеврит - плевраның қабыну экссудатының плевралық қуысында жиналуымен қабынуы
Жалпы металлургия пәнінен дәрістер жинағы
Ірі қара малының гигиенасы