Использование компонента мультимедийных возможностей Delphi

Тема: Использование компонента мультимедийных возможностей Delphi
Цель лабораторной работы – Познакомиться с мультимедийными возможностями Delphi .

Студенты должны научиться:

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

 

Теоретическая часть

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

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

Кнопка Обозначение Действие
Воспроизведение btPlay Воспроизведение звука или видео
Пауза btPause Приостановка воспроизведения
Стоп btStop Остановка воспроизведения
Следующий btNext Переход к следующему кадру
Предыдущий btPrev Переход к предыдущему кадру
Шаг btStep Переход к следующему звуковому фрагменту, например, к следующей песне на CD
Назад btBack Переход к предыдущему звуковому фрагменту, например, к предыдущей песне на CD
Запись btRecord Запись
Открыть/Закрыть btEject Открытие или закрытие CD-дисковода компьютера

 

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

Свойство Описание
Name Имя компонента.
DeviceType Тип устройства. Определяет конкретное устройство, которое представляет собой компонент MediaPiayer. Тип устройства задается именованной константой: dtAutoSelect — тип устройства определяется автоматически; dtVaweAudio — проигрыватель звука; dtAVivideo — видеопроигрыватель; dtCDAudio — CD-проигрыватель
FileName Имя файла, в котором находится воспроизводимый звуковой фрагмент или видеоролик
AutoOpen Признак автоматического открытия сразу после запуска программы, файла видеоролика или звукового фрагмента
Display Определяет компонент, на поверхности которого воспроизводится видеоролик (обычно в качестве экрана для отображения видео используют компонент Panel)
VisibleButtons Составное свойство. Определяет видимые кнопки компонента. Позволяет сделать невидимыми некоторые кнопки

Компонент Animate добавляется к форме обычным образом. После добавления компонента к форме следует установить значения его свойств. Свойства компонента Animate перечислены в таблице.

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

 

Свойство Определяет
Name Имя компонента. Используется для доступа к свойствам компонента и управлением его поведением
FileName Имя AVI-файла в котором находится анимация, отображаемая при помощи компонента
StartFrame Номер кадра, с которого начинается отображение анимации
stopFrame Номер кадра, на котором заканчивается отображение анимации
Activate Признак активизации процесса отображения кадров анимации
Color Цвет фона компонента (цвет “экрана”), на котором воспроизводится анимация
Transparent Режим использования “прозрачного” цвета при отображении анимации
Repetitions Количество повторов отображения анимации

Следует еще раз обратить внимание, что компонент Animate предназначен для воспроизведения AVI-файлов, которые содержат только анимацию. При попытке присвоить записать в свойство FileName имя файла, который содержит звук, Delphi выводит сообщение о невозможности открытия указанного файла (Cannot open AVI).

Задание 1

  1. Создать приложение проигрывания анимации.
  2. На форме поместить компоненты Panel, MediaPlayer, Button, Label.
  3. Подписать компоненты согласно изображению.
  4. Установите значение Visible в false у компонента MediaPlayer, а также выбрать компонент для отображения: в свойстве Display выбрать Panel.
  5. В событии OnCreate формы прописать

MediaPlayer1.DisplayRect:=Rect(0,0,60,60);

Пояснение    к 1-5: задается размер области вывода анимации, при создании проекта, т.е. анимация будет проиграна в компоненте с координатами от (0,0 до 60,60).

  1. Выбрать файл видеоролика в MediaPlayer в свойстве FileName.
  2. Для просмотра прописать следующее событие:

MediaPlayer1.Play; // воспроизведение анимации

  1. Самостоятельно добавить и прописать кнопки стоп, следующее видео, предыдущее видео.

Задание 2

  1. Создать приложение проигрывающее анимацию. Форму расширить, и разместить на ней: label, edit, button, animate, opendialog, groupbox, radiobutton, speedbutton. Разместить и подписать согласно изображения.

:

  1. Объявите процедуру в разделе объявления, добавив строку:

procedure OpenAVI;

А также в разделе var укажите: CFrame: integer;

  1. Описать процедуру после {$R *.DFM}. Нужно написать следующий код:

procedure TForm1.OpenAVI;

begin

    Button3.Enabled := False;

    SpeedButton2.Enabled := False;

    SpeedButton1.Enabled := False;

    RadioButton1.Enabled := False;

    RadioButton2.Enabled := False;

    try

        Animate1.FileName := Edit1.Text;

    except

      on Exception do

      begin

        MessageDlg(‘Ошибка формата AVI файла.’+

           #13+'(Анимация не должна сопровождаться звуком.)’,

           mtError,[mbOk],0);

        exit;

      end;

    end;

    Button3.Enabled := True;

    //Button2.Enabled := True;

    //Button3.Enabled := True;

    RadioButton1.Enabled := True;

    RadioButton2.Enabled := True;

end;

  1. Необходимо настроить фильтр OpenDialog: AVI файл |*.avi.
  2. У компонента Edit в событии OnKeyPress прописать код:

if (Key = #13) and (Length(Edit1.Text) <> 0) then OpenAVI;

Пояснение:  Проверяется наличие условия на нажатие клавиши Enter и длины текста больше 0 символов.  Если условие совпадает, то выполняется процедура OpenAvi.

  1. Функция выбора видео записывается на нажатие на кнопку Выбрать:

OpenDialog1.Title := ‘Выбрать AVI файл‘;

if OpenDialog1.Execute then

begin

Edit1.Text := OpenDialog1.FileName;

OpenAVI;

 end;

  1. Для запуска анимации, на кнопку Пуск, прописать следующий код:

      if Animate1.Active = False // в данный момент анимация не выводиться

        then begin

          Animate1.StartFrame:=1; // вывод с первого кадра

          Animate1.StopFrame:=Animate1.FrameCount; // по последний кадр

          Animate1.Active:=True;

          Button3.caption:=’Стоп‘;

          RadioButton2.Enabled:=False;

        end

      else  // анимация отображается

        begin

          Animate1.Active:=False; // остановить отображение

          Button3.caption:=’Пуск‘;

          RadioButton2.Enabled:=True;

        end;

  1. Для кнопки Не прерывно прописать код:

     Button3.Enabled:=True;

     Form1.SpeedButton1.Enabled:=False;

     Form1.SpeedButton2.Enabled:=False;

  1. Для кнопки По кадрам прописать код:

SpeedButton2.Enabled:=True;  // кнопка Следующий кадр доступна

SpeedButton1.Enabled:=False; // кнопка Предыдущий кадр недоступна

// сделать недоступной кнопку Пуск – вывод всей анимации

Button3.Enabled:=False;

Animate1.StartFrame:=1;

Animate1.StartFrame:=1;

CFrame:=1;

  1. Для кнопки Предыдущий кадр прописать код:

     if CFrame > 1 then

     begin

        CFrame := CFrame – 1;

        // вывести кадр

        Animate1.StartFrame := CFrame;

        Animate1.StopFrame := CFrame;

        Animate1.Active := True;

        if CFrame = 1 // текущий кадр – первый

            then Form1.Button3.Enabled := False;

     end;

     if CFrame < Animate1.FrameCount

         then SpeedButton2.Enabled := True;

  1. Для кнопки Следующий кадр прописать код:

     if CFrame < Animate1.FrameCount then

     begin

        CFrame := CFrame + 1;

        // вывести кадр

        Animate1.StartFrame := CFrame;

        Animate1.StopFrame := CFrame;

        Animate1.Active := True;

        if CFrame = Animate1.FrameCount // текущий кадр – последний

               then Button3.Enabled:=False;

     end;

      if CFrame > 1 then SpeedButton1.Enabled := True;

  1. Сохраните проект, запустите приложение.

 

Содержание отчета:

  1. Номер, тема, цель лабораторной работы.
  2. Задание к работе.
  3. Описание входных, промежуточных и результирующих данных с указанием их типа.
  4. Программа на языке программирования.
  5. Результат выполнения программы (Введенное данные и полученные данные)
  6. Вставить код, написанный вами
  7. Вывод о проделанной работе.

Автор публикации

не в сети 3 недели

Администратор ресурса

Здравствуйте. Если у Вас возникают какие-либо вопросы касательно работы сайта, то вы можете написать на электронную почту admin@learn-more.kz
Комментарии: 24Публикации: 287Регистрация: 25-01-2017

Добавить комментарий