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

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

Обзор Что такое мультимедиа Мультимедиа в Delphi Компонент TMediaPlayer Два вида программ, использующих мультимедиа

1. Обзор

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

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

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

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

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

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

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

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

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

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

Простоту использования можно воспринимать двояко:

В данном разделе не описываются подробности внутренних вызовов мультимедийных функций при работе компонента. Все что нужно знать - это то, что компонент называется TMediaPlayer, и что он дает доступ к набору подпрограмм, созданных Microsoft и называемых Media Control Interface (MCI). Эти подпрограммы дают программисту простой доступ к широкому кругу устройств мультимедиа. Собственно работа с TMediaPlayer интуитивно понятна и очевидна.

4. Компонент TMediaPlayer

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

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

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

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

DIV_ADBLOCK63">

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

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

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

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

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

В данном разделе мы рассмотрим пример построения приложения с мультимедиа первого типа. Создайте новый проект (File | New Project). Поместите TMediaPlayer на форму; поместите компонент OpenDialog1 класса TOpenDialog для выбора файла. В свойстве Filter для него укажите требуемые расширения файлов:

AVI File(*.avi)|*.avi

WAVE File(*.wav)|*.wav

MIDI file(*.MID)|*.mid

Поместите на форму кнопку Button1 классаTButton. Пусть при нажатии данной кнопки вызывается диалог OpenDialog1 и выбранный файл будет воспроизводиться.
Создайте обработчик события OnClick для Button1:

Procedure TForm1.Button1Click(Sender:TObject);

with OpenDialog1 do

if Execute then begin

MediaPlayer1. FileName:=FileName;

MediaPlayer1.Open;

MediaPlayer1.Play;

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

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

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

Как уже говорилось выше, видеоролик можно воспроизводить внутри формы, например, на панели. Давайте слегка модифицируем проект и добавим туда панель TPanel (см. рис.5). В св-ве Display для MediaPlayer1 укажите Panel1. Нужно убрать надпись с панели (Caption)

и св-во BevelOuter = bvNone. Чтобы переключаться при воспроизведении с окна на панель - поместите TСheckBox на форму и в обработчике события OnClick для него запишите:

procedure TForm1.CheckBox1Click(Sender: TObject);

Start_From: Longint;

with MediaPlayer1 do begin

if FileName="" then Exit;

Start_From:=Position;

Panel1.Refresh;

if CheckBox1.Checked then

Position:=Start_From;

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

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

procedure TForm1.Timer1Timer(Sender: TObject);

with MediaPlayer1 do

if FileName<>"" then

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

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

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

Презентацию к данной лекции можно скачать .

5.1. Краткое понятие мультимедиа и мультимедийных приложений

Мультимедиа ( multimedia ) - это совокупность компьютерных технологий, одновременно использующих несколько информационных сред: графику, текст, видео, фотографию, анимацию, звуковые эффекты, звуковое сопровождение, человеческую речь.

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

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

К разновидностям мультимедиа относятся:

  • Линейное мультимедиа - простейшая форма представления множества элементов мультимедиа, когда пользователь может выполнять только пассивный просмотр элементов мультимедиа, а последовательность просмотра элементов мультимедиа определяется сценарием.
  • Нелинейное (интерактивное) мультимедиа - форма представления множества элементов мультимедиа, в которой пользователю предоставлена возможность выбора и управления элементами в режиме диалога.
  • Гипермедиа - интерактивное мультимедиа, в котором пользователю предоставляется структура связанных элементов мультимедиа, которые он может последовательно выбирать.
  • Реальное видео - форма мультимедиа, моментально транслирующая поток данных с одного устройства на другое, предоставляющая пользователю просматривать видео и звуковое сопровождение в режиме реального времени.

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

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

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

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

Мультимедиа , помимо значительного ускорения коммуникативных процессов, позволяет на качественно новом уровне организовать процессы производства, хранения и распространения информации.

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

Невозможно переоценить значение мультимедиа в развитии индустрии развлечении, создании компьютерных игр, киноиндустрии.

Мультимедиа следует рассматривать и как искусство, где особое место принадлежит наглядно-образным способам передачи информации. Как новая форма художественного творчества, мультимедиа выступает не столько продуктом технологической революции, сколько цифровым воплощением идей, которые не находили перспектив реализации в традиционных рамках изобразительного искусства и других видах культуры. При этом компьютер становится еще одним перспективным инструментом для всех искусств, альтернативной средой, способной по -новому реконструировать культуру и творить собственное искусство, он осознается как средство создания видов искусства. Сформировалось несколько направлений компьютерных искусств: цифровая музыка, интерактивный перформанс, компьютерная графика и анимация . Одним из основных преимуществ этих видов творчества считается открытость художественного пространства.

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

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

  • Средства создания и обработки изображения
  • Средства создания и обработки 2D и 3D - графики
  • Средства создания и обработки видео и анимации
  • Средства создания и обработки звука
  • Средства создания презентации

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

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

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

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

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

Программы для работы со звуком можно условно разделить на две большие группы: звуковые редакторы, ориентированные на цифровые технологии записи звука, и программы-секвенсоры.

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

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

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

Для того, чтобы реализовывать эффектные и полезные мультимедиа приложения с использованием технологии Intel Perceptual Computing , в первую очередь , необходимо четко определить, какие именно мультимедиа форматы и в какой степени будут задействованы в конкретном приложении и какие технологии нужны для работы с этими мультимедиа форматами. Успех таких приложений будет в большей степени зависеть от того, насколько разработчики опытны в использовании тех или иных подключаемых библиотек функций, с помощью которых происходит обработка мультимедиа потока. Такое приложение будет полезно пользователю только в том случае, если оно корректно обрабатывает мультимедиа содержимое и является правильно реализованным с технической точки зрения. Поэтому, прежде чем начинать разработку мультимедиа приложения с использованием Intel Perceptual Computing , необходимо детально изучить принципы и особенности технологии обработки мультимедиа потоков, библиотеки функций и примеры программ. Только при условии, что управление с помощью технологии Intel Perceptual Computing будет дополнять полезный и корректно работающий мультимедиа -функционал, разработчику удастся воплотить все преимущества от синергии мультимедиа и Perceptual Computing .

5.2. Преимущества от использования Intel Perceptual Computing SDK при разработке мультимедиа приложений

Поскольку технология Intel Perceptual Computing позволяет создавать совершенно новый тип человеко-компьютерных интерфейсов, можно говорить о появлении нового поколения мультимедийных приложений, имеющих гораздо более широкий спектр возможностей по обработке различных типов файлов и потоков данных. Управление мультимедиа файлами теперь выходит за рамки классических представлений о взаимодействии человека и компьютера и превращается в увлекательный творческий процесс. Использование технологии Perceptual Computing увеличивает степень интерактивности мультимедиа приложений, которые сами по себе являются действенным инструментом вовлечения. Симбиоз технологий мультимедиа и Perceptual Computing особенно эффективен в образовательной и развлекательной сферах человеческой деятельности, но также может быть применим в коммерческих и рекламных целях, на различных презентациях и демонстрациях.

При грамотном сочетании двух технологий готовые приложения позволяют как решать простые и бытовые пользовательские задачи, так и выступать в качестве гибкого и сложного инструмента в различных сферах, включая медиа-искусство и digital-индустрию. С помощью Perceptual Computing можно облегчить управление сложными программными комплексами, где используется несколько мультимедиа технологий и сделать параллельную работу, например, с графикой и звуком, более удобной для пользователя. При продуманной агрегации нескольких мультимедиа технологий в одном приложении пользователю предоставляется больше возможностей для работы с цифровой информацией, что только усиливается при использовании жестового или голосового управления.

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

Простейшим примером музыкального симулятора является приложение Drummer, которое позволяет имитировать игру на ударных ( рис. 5.1). Основная функция приложения - запись звуковой и нотной дорожки. Пользователь может скомпоновать ударную установку из нескольких предметов, начать сеанс записи, остановить запись . В управлении симулятором используются жесты обеих рук. Предпочтение отдано динамическим жестам, с помощью жестов захвата происходит перемещение объектов приложения, двойной жест "большой палец вверх" используется для остановки записи. Голосовое управление в приложении не предусмотрено.


Рис. 5.1.

Другой вариант применения Intel Perceptual Computing - дирижер виртуального оркестра ( рис. 5.2). Приложение следит за частотой и размером жестов пользователя и в зависимости от этих характеристик меняет громкость и скорость звучания воспроизводимой музыкальной дорожки. Управление программой осуществляется с помощью характерных дирижерских жестов, причем жесты должны соответствовать размеру музыкального такта проигрываемой композиции. По факту, программой распознаются последовательности горизонтальных и вертикальных взмахов, из которых состоят движения дирижера. Дополнительной функциональностью является графическое отображение активных в данный момент партий оркестра. Аналогичное приложение можно реализовать как надстройку над любой популярной программой, читающей и воспроизводящей нотные табулатуры.


Рис. 5.2.

Поскольку разработчики ничем не ограничены в выборе мультимедиа технологий и способах их использования, возможны более функционально сложные реализации музыкальных симуляторов, предназначенных как для обучающих, так и досуговых целей, сочетающих в себе несколько мультимедийных технологий. Возможно создание симуляторов с различными уровнями сложности или использующих дополнительные устройства, такие как портативный мультимедиа проектор. Качественным примером такого приложения может быть программный комплекс, обучающий пользователя игре на виртуальном пианино. Отображая с помощью проектора виртуальные клавиши на горизонтальной поверхности, приложение изменяет цвет клавиш, на который нужно нажать в тот или иной момент проигрываемой композиции. При этом отслеживаются движения рук пользователя и закрываемые его пальцами клавиши. По "нажатию" клавиши воспроизводится соответствующий звук, что дает понять пользователю, насколько верно он играет композицию. Также к основному функционалу можно добавить отображение нот и перемещающейся метки проигрывателя. Более простая реализация такого типа приложений - имитация игры на ксилофоне.

Другой тип мультимедиа приложений с главенствующей музыкальной составляющей - синтезаторы. Они применимы, в основном, в развлекательных целях, но их жестовые реализации потенциально могут стать неотъемлемым атрибутом digital-искусства. Одной из реализаций такого типа синтезаторов является приложение JOY ( рис. 5.3). При его разработке использовались не только аудио технологии, но и различный инструментарий для графического моделирования и генерирования изображений. При старте приложения пользователь выбирает аудиокомпозицию и запускает воспроизведение. Композиция состоит из 10 дорожек, управление которыми происходит с помощью поднятия и опускания пальцев. Изменение расстояния между кистей рук меняет эффект реверберации (отражения) звука. Вертикальное перемещение ладоней в разные стороны регулирует частоту колебаний, баланс звука и эхо изменяются при отдалении и приближении ладоней к камере с сенсорами глубины. Параллельно происходит управление видеорядом. На экране точками отображаются активные звуковые дорожки, геометрические объекты также зависят от количества поднятых пальцев, распознанных приложением, и пульсируют в соответствии с ритмом воспроизводимой композиции.


Рис. 5.3.

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

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

Генерация трехмерного видеопотока в режиме реального времени ( рис. 5.4) осуществляется по сходному принципу, однако, является более сложной задачей, поскольку требует от разработчика понимания принципов построения трехмерных изображений и продвинутых навыков работы с 3D-библиотеками. Графическая составляющая такого приложения может быть реализована как пространственное движение скопления нескольких однородных объектов с варьирующимися свойствами, например, несколько не одинаковых по размеру кубов разных оттенков зеленого или более сложные трехмерные модели, например, имитация хаотично движущейся стаи рыб. Для удобства реализации функций управления графикой рекомендуется задавать в скоплении один главный элемент, а все параметры всех остальных объектов ставить в зависимость от положения и состояния главного объекта.

Управление свойствами объектов и их местоположением, как и в случае с двумерной графикой, рекомендуется разделять. В данном случае, возможно реализовать дополнительные функции изменения точки обзора путем контроля положения лица пользователя и при наклоне головы поворачивать трехмерную сцену в соответствующую сторону. Также возможно разработать систему голосовых команд, управляющих трехмерной сценой и средой, окружающей основные объекты. Например, можно предусмотреть варианты управления оттенком фона, степенью освещенности и прозрачностью объектов, моделированием дополнительных эффектов, имитирующих с помощью различных текстур различные явления реального мира, например, морскую воду, ураганный ветер, сильное пламя. Аналогичный прием будет приемлем и для приложений, генерирующих двумерный видеоряд. графический редактор ( рис. 5.5) обеспечивает функциональность по созданию и редактированию объемных тел из простейших элементов, а также индивидуальное задание свойства цвета для каждого элементу, из которого состоит создаваемое тело. Контроль над приложением осуществляется с помощью двух курсоров, которые управляются простейшими жестовыми командами - двумя раскрытыми ладонями и движениями указательными пальцами. Трехмерный объект создается из базовых элементов - кубов единого размера, для каждого из них существует возможность определения цвета из палитры-спектра. Реализованы такие возможности управления трехмерным рабочим пространством, как вращение вокруг объекта, приближение, отдаление и перемещение

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

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

Компонент TMediaPlayer

Два вида программ, использующих мультимедиа

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

Обзор

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

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

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

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

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

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

  1. Мультимедиа в Delphi
  2. В Delphi есть компонент TMediaPlayer, который дает Вам доступ ко всем основным возможностям программирования мультимедиа. Данный компонент очень прост в использовании. Фактически, он настолько прост, что многим начинающим программистам будет проще создать свою первую программу, проигрывающую видео или музыку, нежели показывающую классическую надпись "Hello World".

Простоту использования можно воспринимать двояко:

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

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

В данном уроке не описываются подробности внутренних вызовов мультимедийных функций при работе компонента. Все что нужно знать - это то, что компонент называется TMediaPlayer, и что он дает доступ к набору подпрограмм, созданных Microsoft и называемых Media Control Interface (MCI). Эти подпрограммы дают программисту простой доступ к широкому кругу устройств мультимедиа. Собственно работа с TMediaPlayer интуитивно понятна и очевидна.

  1. Компонент TMediaPlayer

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

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

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

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

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

на этом свойстве и выберите имя файла с расширением AVI, WAV или

MID. На рис.2 выбран AVI файл DELPHI.AVI. Далее нужно установить свойство AutoOpen в True.

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

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

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

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

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

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

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

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

В данной главе мы рассмотрим пример построения приложения с мультимедиа первого типа. Создайте новый проект (File | New Project). Поместите TMediaPlayer на форму; поместите компоненты TFileListBox, TDirectoryListBox, TDriveComboBox, TFilterComboBox для выбора файла. В свойстве 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);

with MediaPlayer1 do

FileName:=FileListBox1.FileName;

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

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

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

Как уже говорилось выше, видеоролик можно воспроизводить внутри формы, например, на панели. Давайте слегка модифицируем проект и добавим туда панель TPanel (см. рис.5). В св-ве Display для MediaPlayer1 укажите Panel1. Нужно убрать надпись с панели (Caption)

и св-во BevelOuter = bvNone. Чтобы переключаться при воспроизведении с окна на панель - поместите TСheckBox на форму и в обработчике события OnClick для него запишите:

procedure TForm1.CheckBox1Click(Sender: TObject);

Start_From: Longint;

with MediaPlayer1 do begin

if FileName="" then Exit;

Start_From:=Position;

if CheckBox1.Checked then

Position:=Start_From;

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


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

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

procedure TForm1.Timer1Timer(Sender: TObject);

with MediaPlayer1 do

if FileName<>"" then

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

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


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

В данной главе мы рассмотрим пример построения приложения с мультимедиа первого типа. Создайте новый проект (File | New Project). Поместите TMediaPlayer на форму; поместите компоненты TFileListBox, TDirectoryListBox, TDriveComboBox, TFilterComboBox для выбора файла. В свойстве 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);

with MediaPlayer1 do

FileName:=FileListBox1.FileName;

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

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

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

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



procedure TForm1.CheckBox1Click(Sender: TObject);

Start_From: Longint;

with MediaPlayer1 do begin

if FileName="" then Exit;

Start_From:=Position;

if CheckBox1.Checked then

Position:=Start_From;

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

Рис. 5. Добавлена панель для воспроизведения видео и

переключатель окно/панель.

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

procedure TForm1.Timer1Timer(Sender: TObject);

with MediaPlayer1 do

if FileName<>"" then

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

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

Рис.6: Законченное приложение для воспроизведения

AVI, WAV и MDI файлов.

3. ОБЪЕКТЫ ИССЛЕДОВАНИЯ, ОБОРУДОВАНИЕ, МАТЕРИАЛЫ И НАГЛЯДНЫЕ ПОСОБИЯ

3.1. IBM – совместимый компьютер.

3.2. Установленная операционная система Windows.

3.3. Установленное приложение Borland Delphi.

3.4. Справочная система приложения Borland Delphi.

4. ЗАДАНИЕ НА РАБОТУ

4.1. Изучение теоретические положения работы по программированию в среде Borland Delphi.

4.2. Выполнение индивидуального задания преподавателя по программированию в пределах вопросов, рассмотренных в данной лабораторной работе.

5. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

5.1. Ознакомиться с теоретическими положениями данной лабораторной работы.

5.2. Выполнить индивидуальные задания преподавателя по программированию.

Задание 1

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

Задание 2

Дополнить программу возможностью определения времени и размера проигрываемого файла

5.3. Оформить отчет по работе.

5.4. Защитить лабораторную работу путем ответа на вопросы преподавателя.

6.1. Описание цели работы.

6.2. Основные теоретические положения работы

6.4. Описание методики выполнения индивидуального задания.

7. КОНТРОЛЬНЫЕ ВОПРОСЫ

8. СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

8.1. Delphi 7: [наиболее полное руководство] / А. Д. Хомоненко [и др.];под общ.ред.А.Д.Хомоненко.- СПб. : БХВ - Петербург, 2007 .- 1216с. : ил. (7 экз.)

8.2. Программирование в Delphi 7 / П. Г. Дарахвелидзе, Е. П.Марков.- СПб.: БХВ -Петербург, 2004 .- 784c. : ил. (1 экз.)

8.3 Осипов Д. Delphi. Профессиональное программирование. - СПб.: Символ-Плюс, 2006. -1056 с., ил.