Средства создания мультимедийных приложений
Что такое мультимедиа
Мультимедиа в Delphi
Компонент TMediaPlayer
Два вида программ, использующих мультимедиа
Пример программы с мультимедиа
Обзор
Давая такое общее определение, нужно сказать, что в данном уроке мы имеем дело с подмножеством мультимедиа, которое включает:
1. Показ видео в формате Microsofts Video for Windows (AVI).
2. Воспроизведение звуков и музыки из MIDI и WAVE файлов.
Данную задачу можно выполнить с помощью динамической библиотеки Microsoft Multimedia Extensions для Windows (MMSYSTEM.DLL), методы которой инкапсулированы в компоненте TMediaPlay, находящийся на странице System Палитры Компонент Delphi.
Для проигрывания файлов мультимедиа может потребоваться наличие некоторого оборудования и программного обеспечения. Так для воспроизведения звуков нужна звуковая карта. Для воспроизведения AVI в Windows 3.1 (или WFW) требуется установить ПО Microsoft Video.
Простоту использования можно воспринимать двояко:
С одной стороны - это дает возможность любому создавать мультимедиа приложения.
С другой стороны, можно обнаружить, что в компоненте реализованы не все возможности. Если Вы захотите использовать низкоуровневые функции, то придется копаться достаточно глубоко, используя язык Delphi.
В данном уроке не описываются подробности внутренних вызовов мультимедийных функций при работе компонента. Все что нужно знать - это то, что компонент называется TMediaPlayer, и что он дает доступ к набору подпрограмм, созданных Microsoft и называемых Media Control Interface (MCI). Эти подпрограммы дают программисту простой доступ к широкому кругу устройств мультимедиа. Собственно работа с TMediaPlayer интуитивно понятна и очевидна.
Для начала давайте создадим новый проект, затем поместим компонент TMediaPlayer (стр. System Палитры) на форму, как показано на рис.1.
Рис.1: Компонент TMediaPlayer на форме.
Компонент TMediaPlayer оформлен, как панель управления устройством с кнопками. Как и на магнитофоне, здесь есть кнопки “воспроизведение”, “перемотка”, “запись” и др.
Поместив компонент на форму, Вы увидите, что Инспектор Объектов содержит свойство "FileName" (см. рис.2). Щелкните дважды
Рис.2: Свойства TMediaPlayer в Инспекторе Объектов
на этом свойстве и выберите имя файла с расширением AVI, WAV или
MID. На рис.2 выбран AVI файл DELPHI.AVI. Далее нужно установить свойство AutoOpen в True.
После выполнения этих шагов программа готова к запуску. Запустив программу, нажмите зеленую кнопку “воспроизведение” (крайняя слева) и Вы увидите видеоролик (если выбрали AVI) или услышите звук (если выбрали WAV или MID). Если этого не произошло или появилось сообщение об ошибке, то возможны два варианта:
Итак, Вы имеете возможность проигрывать AVI, MIDI и WAVE файлы просто указывая имя файла.
Еще одно важное свойство компонента TMediaPlayer - Display. Изначально оно не заполнено и видео воспроизводится в отдельном окошке. Однако, в качестве экрана для показа ролика можно использовать, например, панель. На форму нужно поместить компонент TPanel, убрать текст из св-ва Caption. Далее, для TMediaPlayer, в свойстве Display выбрать из списка Panel1. После этого надо запустить программу и нажать кнопку “воспроизведение” (см. рис.3)
Рис.3: Воспроизведение AVI на панели.
Иногда программист может захотеть скрыть от пользователя существование компонента TMediaPlayer. То есть, воспроизвести звук или видео без того, чтобы пользователь заботился об их источнике. В частности, звук может быть частью презентации. Например, показ какого-нибудь графика на э
Все программные средства систем мультимедиа (ММ) можно разделить на четыре вида: системное программное обеспечение (ПО) ММ, профессиональное ПО ММ, функциональное ПО ММ, преобразователи ММ-информации (рис. 6).
Рис. 6. Структура программного обеспечения средств мультимедиа
Мультимедийные операционные системы - это ОС, предназначенные для работы с различными видами информации: текстом, звуком, графикой, видео. Эти операционные системы, помимо основных для ОС черт, имеют и специфические, связанные с видами обрабатываемой информации. К мультимедийным относятся операционные системы фирмы Microsoft - Windows различных версий. Unix же первоначально не предназначалась для обработки различных видов информации. Она была больше приспособлена для обработки текста и для программирования. Другие виды информации на ней обрабатывать можно, но для этого необходимо дополнительное программное обеспечение, которое в состав основного комплекта операционной системы Unix не входит.
Мультимедиа-интерфейсы служат для облегчения процесса общения человека с ЭВМ. В связи с необходимостью выполнения сложных операций, связанных с извлечением и преобразованием смысла, мультимедиа-интерфейсы часто выполняются интеллектуальными. К их числу относятся: речевой интерфейс, графический, мимический, естественноязыковый интерфейс (ЕЯ-интерфейс) и псевдоЕЯ-интерфейс.
Обычно интерфейсы выполняются в виде виртуальных или прозрачных структур. Виртуальная структура - это кажущаяся, не существующая в действительности, функции которой моделируются с помощью реальных структур.
Прозрачные структуры - это действительно существующие, но незаметные, спрятанные структуры (программы). Начало их действия обычно связано с возникновением определенных условий. К прозрачным структурам относятся такие программные средства, как демоны (из терминологии искусственного интеллекта и Unix-систем). К демонам нет явного обращения, они начинают работать, если возникает необходимая ситуация (нажаты какие-то клавиши, произошло обращение к жесткому диску для записи, появился сигнал о неисправности устройства или о нарушении какой-либо защиты и т.д.).
Речевой интерфейс состоит из двух частей. Одна из них предназначена для ввода и распознавания речи при речевом обращении к ЭВМ, вторая часть - это синтезатор речи, в состав которого обычно входит “говорящая машина”, которая символьный текст, подготовленный ЭВМ, преобразует в речевое сообщение.
Параметры человеческой речи сильно различаются у разных людей и даже у одного человека при разных эмоциональных состояниях. Поэтому выявление смысла, содержащегося в речевом сообщении, представляет собой непростую проблему и требует применения сложных математических методов. Она еще усложняется за счет того, что при слитной речи звучание слов изменяется и совершенно не похоже на звучание слов, произнесенных раздельно. При распознавании слитной речи возникает проблема разделения фразы на отдельные слова. Практически речевой интерфейс пока реализован только для отдельно произносимых слов (команд).
Синтез речи также является сложной проблемой. В говорящих машинах очень трудно реализовать звучание женского голоса, легче синтезируется металлический голос робота.
Мимический интерфейс необходим для работы с ЭВМ в сильно зашумленной среде и для лиц с дефектами речи и слуха. Мимика и жестикуляция всегда сопровождают естественноязыковое общение людей и способствуют восприятию информации, передаче эмоций. Могут использоваться в качестве самостоятельного средства для обмена информацией.
ЕЯ-интерфейс предназначен для общения пользователей с ЭВМ на естественном для человека языке, без каких-либо специальных знаний. При ЕЯ-общении не человек подстраивается под машину, пытаясь ей что-то объяснить, а машина пытается подстроиться под человека. Если ей что-то непонятно, она переспрашивает, формулирует свой вопрос другими словами, в результате чего в конечном итоге достигается полное взаимопонимание.
ЕЯ-интерфейс очень труден для машинной реализации. Трудности эти усугубляются неоднозначностью языка общения людей. У людей общение строится на интуитивном уровне, объяснить как, часто никто не может. Поскольку алгоритмы общения не сформулированы в явном виде, т.е. практически неизвестны, возникают трудности с ЕЯ-реализацией системы общения.
Трудности в реализации ЕЯ-интерфейса привели к тому, что на практике чаще стал использоваться псевдоЕЯ -интерфейс . В псевдоЕЯ-интерфейсе используется система ограничений, не свойственных для естественного языка. Например, ограничение по теме для общения. При таком ограничении сокращается возможность неоднозначного описания одного и того же объекта. Конструкции предложений становятся более простыми, легче становится понимание смысла.
Стандартное мультимедийное программное обеспечение операционной системы включает фонограф (для записи речи с микрофона и редактирования ее), универсальный проигрыватель (для звуковых и анимационных файлов), микшер (для смешивания звука, записанного в различных файлах), регулятор записи, громкости и баланса, презентационное программное обеспечение (для создания и демонстрации мультимедиа-презентаций, упрощающих перенос смысла от информационной системы человеку).
Профессиональное программное обеспечение и функциональное ПО различаются широтой функций.
Профессиональное ПО необходимо человеку-профессионалу для его профессиональной деятельности, во время которой ему приходится выполнять большое число различных, но связанных между собой операций. Желательно, чтобы все эти операции можно было выполнить с помощью одного и того же программного средства. Иногда возникает необходимость различным специалистам выполнять общую работу. Эта работа должна выполняться на одной ЭВМ (или на локальной сети), профессиональное программное средство с каждым из этих специалистов должно изъясняться на его языке. Например, такой системой является “кремниевый транслятор” Мид и Конвей. Этот транслятор упрощает процедуру создания кристаллов микросхем.
В США существуют так называемые “дворовые кремнелитейни” - это маленькие цеха по изготовлению микросхем в малых количествах почти кустарным способом. Для того, чтобы изготовить микросхему, нужен проект, так как процесс изготовления автоматизирован. Проект микросхемы делается примерно в следующей последовательности: сначала заказчик объясняет системному аналитику, чего он хочет. Системный аналитик на основании объяснений заказчика составляет задание для конструктора. Конструктор по этому заданию разрабатывает микросхему и передает разработанную конструкторскую документацию технологу. Технолог, получив эту документацию, решает, как такое изделие можно реализовать, и составляет технологическую документацию (например, технологические карты процесса изготовления микросхемы). Эта технологическая документация представляет собой документацию, позволяющую управлять кремнелитейней.
Цикл подготовки технологической документации вручную занимал несколько месяцев. Когда реализовали процесс проектирования с помощью программного комплекса “кремниевый транслятор”, цикл сократился до нескольких недель. Кремниевый транслятор сначала общался с заказчиком на его языке и выяснял, что нужно сделать, затем передавал относительно грамотные соображения системному аналитику, который доводил их до технического задания на изготовление микросхемы. После этого за программный комплекс садился конструктор, который получал понятное ему техническое задание, а затем, используя тот же самый программный комплекс, разрабатывал электронные схемы и оформлял их в виде конструкторской документации, передаваемой для работы технологу.
Переход от знаний одного специалиста к знаниям другого в кремниевом трансляторе транслируется программой. Такая система общения разных специалистов представляет собой профессиональную мультимедиа-систему.
Другим примером профессиональных мультимедиа-систем являются настольные издательские системы , позволяющие выполнять различные операции по подготовке текстов к изданию без привлечения других программных средств.
Локальные и телекоммуникационные вопросно-ответные системы в зависимости от применяемого интерфейса делятся на речевые, видео-сенсорные, графические. Они представляют собой программное средство, содержащее шаблоны, с помощью которых создаются системы этого типа. Локальные системы предназначены для использования только на одном компьютере, телекоммуникационные - на удаленных компьютерах.
Графические программные средства - это графические редакторы, редакторы сценариев (например, для создания мультипликаций), программы для подготовки графических презентаций. К профессиональному программному обеспечению относятся только мощные, многофункциональ-ные программные средства типа 3D-Studio, Macromedia Flash и др.
Аудиопрограммные средства включают в себя музыкальные, речевые, акустические редакторы, говорящие машины, проигрыватели. Все они предназначены для ввода в ЭВМ, вывода из нее различных звуковых файлов, создания звукового сопровождения презентаций и т.д.
Программное обеспечение видеомонтажа предназначено для обработки видео, снимаемого с помощью видеокамеры (т.н. “живого видео”). Различают две разновидности видеомонтажа: линейный и нелинейный. В обоих видах используются ЭВМ, телевизионный плеер (для ввода), и пишущий плеер для вывода преобразованной в ЭВМ видеозаписи на магнитную ленту.
Исходная видеозапись считывается с плеера и поступает в ЭВМ, где преобразуется, а затем в преобразованном виде выводится на пишущий плеер.
Для линейного видеомонтажа используется “анимационная линейка”, ЭВМ которой должна иметь основную память, достаточную для хранения 1-2 кадров видеозаписи (это около 16 Мбайт). Ввели один кадр, обработали его, вывели на пишущий плеер. Обработка кадров исходной видеозаписи ведется последовательно, кадр за кадром (т.е. линейно).
При нелинейном видеомонтаже используется “компьютерный куб”, ЭВМ которого должна иметь объем памяти, достаточный для хранения большого количества кадров, которые считываются группами и находятся в основной памяти одновременно. Выбор кадра для обработки производится произвольно. При выводе видеозаписи кадры могут меняться местами, дополняться другими фрагментами, удаляться и т.д. Для этого необходима большая основная память (не менее 60 Мбайт). В системах нелинейного монтажа кадры обрабатываются в произвольной последовательности, т.е. нелинейно.
Вся эта работа выполняется с помощью профессионального мультимедийного программного обеспечения. В «анимационной линейке» основная задача программного обеспечения - это управление плеерами. В «компьютерном кубе» основная задача - работа с кадрами видеозаписи. Поэтому для этих систем используются разные пакеты прикладных программ.
Программное обеспечение для создания обучающих систем и тренажеров содержит текстовый и графический редакторы, специальные средства для контроля знаний, для дозированной выдачи информации и т.д. В качестве примера мультимедийного тренажера можно назвать разные варианты клавиатурного тренажера, например, TRK.
Компьютерный диктофон - это программное средство, предназначенное для ввода речи в ЭВМ, распознавания ее и перевода в символьный вид, записи полученного речевого сообщения в символьном виде в текстовом редакторе. Фирма Курцвейл разработала один из первых компьютерных диктофонов, распознававший 1000 английских слов. В настоящее время выпускается много аналогичных систем, например, Dragon Dictate. Сильно продвинулась в этом направлении фирма IBM. Ею в 1997 г. запатентованы системы распознавания для китайского и японского языков.
Программы-переводчики предназначены для перевода письменных текстов с одного языка на другой. Проблема эта сложная, так как точный алгоритм перевода неизвестен - ведь переводить надо мысли, а не слова, с помощью которых они выражаются. Предпринимаются попытки по-разному реализовать такие системы. Обычно для качественного перевода требуются большие словари. Известны попытки использовать нейрокомпьютеры для перевода с одного языка на другой. Качество перевода с помощью нейрокомпьютеров зависит от длительности обучения, от качества обучающей выборки.
Системы психологического тестирования в системах мультимедиа необходимы для определения характеристик человека при создании человеко-машинных систем. Кроме получения необходимых характеристик (иногда, с помощью специально разработанных на основе ЭВМ приборов типа гомеостата, тахистоскопа и др.), системы психологического тестирования позволяют исследовать профориентацию сотрудников (например, тест MMPI), их способность выполнять ответственную работу (тесты Спилбергера, Люшера), оценивать интеллектуальные способности работающих на ЭВМ и др.
Функциональное программное обеспечение необходимо для выполнения отдельных операций (в том числе и в процессе профессиональной деятельности), таких, как разработка шрифтов, сжатие или восстановление информации, захват изображения с экрана с записью его в файл, демонстрация видеоизображения, конструирование видеоэффектов и т.д.
Программные комплексы для конструирования шрифтов позволяют создавать шрифты, например, для отображения фирменного стиля. Корректировка чужих шрифтов авторским правом запрещается, так как корректировка формы символа может нарушить общий стиль комплекта символов (фонта). В то же время создание нескольких собственных символов или даже целого набора шрифтов бывает необходимо для оформления мультимедиа-системы.
Архиваторы получили широкое распространение. Они позволяют сжимать информацию в среднем в 2-3 раза. Существуют специальные архиваторы, ориентированные на определенные виды информации. Так, например, архиваторы, работающие на основе обратного фрактального преобразования, позволяют сжимать видеоизображение в 10000 раз. Изображения разбиваются на части, и под каждую такую часть ищутся формулы, по которым образуются эти фрагменты изображений. Кодирование изображения набором формул и есть результат работы такого архиватора.
Распознающие системы - это системы для распознавания зрительных, звуковых и т.д. образов. Распознанные образы отождествляются с их названием. Например, при сканировании текста, его изображение снимается в графическом виде, т.е. в виде черных и белых пятен. Распознающая система из этих пятен “узнает” символы и заменяет их кодами ASCII или Unicode. После этого считанный текст можно обрабатывать текстовым редактором. В процессе распознавания осуществляется сжатие изображения, так как запись в кодах занимает значительно меньше места, чем запись в графическом виде.
Программное обеспечение для создания гипертекстов позволяет создавать электронные информационные системы - презентации, Web-сайты, Help-справочники и др. Основой для создания гипертекстов является язык HTML. Простейшие HTML-страницы создаются с помощью текстового процессора Word. Более сложные конструкции создаются с помощью таких пакетов, как Front Page, Power Point, Macromedia Flash, Dreamviewer, Homesite, и др.
Демонстрационные программы предназначены для проигрывания звуковых файлов и демонстрации текстов и рисунков, выполненных в разных форматах. Кроме того, есть демонстрационные программы для пакетов прикладных программ (ППП). Они позволяют автоматизировать демонстрацию возможностей различных ППП. При первом обращении к такой программе сначала запускается она, затем демонстрируемый пакет. Программа запоминает, какие клавиши нажимались при демонстрации пакета и в каком временном ритме. При окончании первой демонстрации программа создает управляющий файл, под управлением которого можно впоследствии запускать демонстрируемый пакет, никаких клавиш больше нажимать не надо. Их нажатие имитируется управляющим файлом, в котором сохранена последовательность нажатия клавиш с учетом фактора времени. Демонстрация ППП ведется на экране автоматически, без участия человека.
Тестирующие программы определяют состав и конфигурацию устройств, проводят их тестирование, настраивают режимы. Их использование необходимо для определения характеристик аппаратных средств при создании человеко-машинных систем. Настройка режимов позволяет согласовать характеристики пользователя (оператора) и ЭВМ, обеспечить наилучшее соответствие программ техническим средствам.
Программные средства для обеспечения безопасности включают в себя детекторы (программы, определяющие наличие опасности, например, появления вируса), фаги (программы, удаляющие вирус из зараженной программы), мониторы (программы, постоянно наблюдающие за работой системы и фиксирующие “опасные” действия, например, операции записи в системную область диска), анализаторы (программы, позволяющие восстанавливать информацию после искажения, находить пути проникновения вредоносных программ в систему, вести контроль трафика для определения того, что именно и кому передается при работе в телекоммуникационной системе), средства для идентификации работающего (например, по клавиатурному почерку, по голосу, по радужной оболочке глаза) и др.
Программное обеспечение систем безопасности часто использует средства мультимедиа. Например, существуют запорные системы (электронные замки), которые открываются по знакомому голосу. Известны системы, дополняющие парольную защиту при доступе к ЭВМ, например, по клавиатурному почерку работающего. В такой системе даже при известном пароле доступ к системе можно получить только при совпадении клавиатурного почерка работающего с эталонным. Формирование эталона производится один раз при настройке системы на нового пользователя. В простейшем случае клавиатурный почерк определяют такие параметры, как продолжительность нажатия клавиши и продолжительность промежутка между нажатием клавиш. Система, определяющая клавиатурный почерк по этим параметрам с помощью Эвклидова расстояния, распознает около 92% попыток несанкционированного доступа.
Преобразователи информации в системах мультимедиа используются для ввода в ЭВМ аналоговой информации (аналого-цифровые преобразователи или АЦП), для вывода из ЭВМ цифровой информации в аналоговом виде (цифро-аналоговые преобразователи или ЦАП), для преобразования форматов файлов, содержащих текстовую, графическую, звуковую, видео информацию.
Компрессоры и декомпрессоры - это программные средства, позволяющие сжимать видеоизображения и в сжатом виде производить их хранение. Некоторые программы позволяют и обрабатывать сжатые изображения. Декомпрессоры позволяют восстановить сжатую информацию для ее вывода. Для работы компрессоров и декомпрессоров используются не только программные, но и специальные технические средства, ускоряющие эти действия.
Что такое мультимедиа
Мультимедиа в Delphi
Компонент TMediaPlayer
Два вида программ, использующих мультимедиа
Пример программы с мультимедиа
Обзор
Давая такое общее определение, нужно сказать, что в данном уроке мы имеем дело с подмножеством мультимедиа, которое включает:
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.
Простоту использования можно воспринимать двояко:
С одной стороны - это дает возможность любому создавать мультимедиа приложения.
С другой стороны, можно обнаружить, что в компоненте реализованы не все возможности. Если Вы захотите использовать низкоуровневые функции, то придется копаться достаточно глубоко, используя язык Delphi.
В данном уроке не описываются подробности внутренних вызовов мультимедийных функций при работе компонента. Все что нужно знать - это то, что компонент называется TMediaPlayer, и что он дает доступ к набору подпрограмм, созданных Microsoft и называемых Media Control Interface (MCI). Эти подпрограммы дают программисту простой доступ к широкому кругу устройств мультимедиа. Собственно работа с TMediaPlayer интуитивно понятна и очевидна.
Для начала давайте создадим новый проект, затем поместим компонент TMediaPlayer (стр. System Палитры) на форму, как показано на рис.1.
Рис.1: Компонент TMediaPlayer на форме.
Компонент TMediaPlayer оформлен, как панель управления устройством с кнопками. Как и на магнитофоне, здесь есть кнопки “воспроизведение”, “перемотка”, “запись” и др.
Поместив компонент на форму, Вы увидите, что Инспектор Объектов содержит свойство "FileName" (см. рис.2). Щелкните дважды
Рис.2: Свойства TMediaPlayer в Инспекторе Объектов
на этом свойстве и выберите имя файла с расширением AVI, WAV или
MID. На рис.2 выбран AVI файл DELPHI.AVI. Далее нужно установить свойство AutoOpen в True.
После выполнения этих шагов программа готова к запуску. Запустив программу, нажмите зеленую кнопку “воспроизведение” (крайняя слева) и Вы увидите видеоролик (если выбрали AVI) или услышите звук (если выбрали WAV или MID). Если этого не произошло или появилось сообщение об ошибке, то возможны два варианта:
Итак, Вы имеете возможность проигрывать AVI, MIDI и WAVE файлы просто указывая имя файла.
Еще одно важное свойство компонента TMediaPlayer - Display. Изначально оно не заполнено и видео воспроизводится в отдельном окошке. Однако, в качестве экрана для показа ролика можно использовать, например, панель. На форму нужно поместить компонент TPanel, убрать текст из св-ва Caption. Далее, для TMediaPlayer, в свойстве Display выбрать из списка Panel1. После этого надо запустить программу и нажать кнопку “воспроизведение” (см. рис.3)
Рис.3: Воспроизведение AVI на панели.
Иногда программист может захотеть скрыть от пользователя существование компонента 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 файлов.
Аннотация: В данной лекции мы обсудим возможности использования естественно-интуитивного подхода в современных мультимедийных приложениях. Синергия нового интерфейсного подхода и технологии мультимедиа позволяет создавать программные средства нового поколения, обладающие крайне высокой интерактивностью и эффективностью в применении. В качестве примера, мы рассмотрим графический редактор с жестовым управлением и голосовое управление в стандартных сервисных приложениях.
Презентацию к данной лекции можно скачать .
Мультимедиа ( multimedia ) - это совокупность компьютерных технологий, одновременно использующих несколько информационных сред: графику, текст, видео, фотографию, анимацию, звуковые эффекты, звуковое сопровождение, человеческую речь.
Мультимедийные технологии - это совокупность современных цифровых средств аудио-, теле-, визуальных и виртуальных коммуникаций, которые позволяют вводить, сохранять, перерабатывать и воспроизводить текстовую, аудиовизуальную, графическую, трёхмерную и иную информацию.
Связывание элементов мультимедиа в единый проект выполняется с помощью программных средств. Результаты представления элементов мультимедиа на экране и средства управления мультимедиа , называются пользовательским интерфейсом, а аппаратные и программные средства , обеспечивающие воспроизведение мультимедиа , - платформой.
К разновидностям мультимедиа относятся:
В целом, под мультимедиа могут понимать и мультимедийную программу-оболочку, и продукт, сделанный на основе мультимедийной технологии, и компьютерное оснащение. Поскольку технологии мультимедиа являются комплексными, то и отдельные элементы этих технологий характеризуются многосредностью и ведением диалога с пользователем. Мультимедийные ресурсы, например, содержат различные виды информации, их существенной особенностью является активное взаимодействие ресурса и человека.
Технология мультимедиа является одной из новых технологических форм информационного общества. Она открывает принципиально новый уровень обработки информации и интерактивного взаимодействия человека с компьютером. Отличительной чертой современных мультимедийных технологий является их способность не только производить некий предназначенный для употребления продукт, но и оказывать косвенное влияние на пользующегося ими человека. Новые виды обработки и предоставления информации, новые способы доступа к информации позволяют разнообразить нашу культуру, содействуют глобальному обмену культурными ценностями, информацией и знаниями, способствуют более интенсивной коммуникации между людьми.
Исторической спецификой современной электронно-коммуникационной системы является то, что в отличие от прежних форм и стадий культурного развития человечества нынешняя характеризуется глобальными масштабами своего распространения и воздействия на все сферы общественной жизни.
Поскольку обмен информацией - необходимая составляющая жизни общества, то медиа технологии, как опосредующее звено человеческой деятельности, являются одним из способов коммуникации, условием человеческой активности. При этом интеграция в одной системе различных источников и форм информации в условиях открытого доступа фундаментально изменила характер коммуникации. Электронные цифровые медиаресурсы создают техническую возможность существования сверхнасыщенного информационного поля, которое практически повсеместно окружает современного человека.
Мультимедиа , помимо значительного ускорения коммуникативных процессов, позволяет на качественно новом уровне организовать процессы производства, хранения и распространения информации.
Активно внедряясь в деловую среду, мультимедиа влияет на ход экономического развития общества, рождая новое направление - электронный бизнес . Мультимедиа технологии широко используются в рекламной деятельности, при управлении маркетингом и организации продвижения товаров и услуг различными методами. Мультимедийные технологии становятся самостоятельным бизнесом и профессиональной областью деятельности, предметом бизнеса.
Невозможно переоценить значение мультимедиа в развитии индустрии развлечении, создании компьютерных игр, киноиндустрии.
Мультимедиа следует рассматривать и как искусство, где особое место принадлежит наглядно-образным способам передачи информации. Как новая форма художественного творчества, мультимедиа выступает не столько продуктом технологической революции, сколько цифровым воплощением идей, которые не находили перспектив реализации в традиционных рамках изобразительного искусства и других видах культуры. При этом компьютер становится еще одним перспективным инструментом для всех искусств, альтернативной средой, способной по -новому реконструировать культуру и творить собственное искусство, он осознается как средство создания видов искусства. Сформировалось несколько направлений компьютерных искусств: цифровая музыка, интерактивный перформанс, компьютерная графика и анимация . Одним из основных преимуществ этих видов творчества считается открытость художественного пространства.
Одна из возможностей продуктивного использования мультимедиа - обучение. Мультимедийная технология позволяет увеличить степень усвояемости изучаемого материала, так как предоставляет возможность синергетического обучения. Под этим понимается обеспечение одновременно зрительного и слухового восприятия материала, активного участия в управлении его подачей, возвращения к тем разделам, которые требуют повторного анализа. Особенно велика роль мультимедиа технологий в развитии дистанционного образования. В будущем роль мультимедиа в области образования будет возрастать, так как знания, обеспечивающие высокий уровень профессиональной квалификации, всегда подвержены быстрым изменениям.
Существует большое множество программных средств для работы с мультимедиа файлами. Такие приложения можно разделить на несколько основных категорий:
Компьютерное представление графической информации реализуется с помощью растрового или векторного подхода. В первом случае изображение делится на пиксели, цвет каждого пикселя кодируется определенным числом битов. Векторные изображения сохраняются в виде геометрического описания объектов, составляющих рисунок.
Графические редакторы ориентированы на манипулирование существующими изображениями и обладают набором инструментов, позволяющих корректировать любой аспект изображения. Профессиональные графические редакторы поддерживают работу со слоями и экспорт объектов из программ векторной графики, обладают полным набором инструментов для коррекции цвета, ретуширования, регулировки контрастности и насыщенности цветов, маскирования, создания различных цветовых эффектов, имитирующих определенные художественные техники.
В программах векторной графики объекты и изображения, которые сохраняются в виде геометрического описания, существуют независимо друг от друга, что позволяет в любой момент изменять слой, расположение и любые другие атрибуты объекта, создавая произвольную композицию. В таких программах иллюстрации создаются с помощью фигур произвольной формы, их масштабирования, вращения, деформации, а также степени прозрачности и цветовой заливки. Современные программы векторной графики содержат также инструменты для работы с растровыми изображениями и текстами.
Трехмерная графика реализуется путем создания каркасов объектов, определения обтягивающих их материалов, компоновки всех объектов в единую сцену, установки освещение и точку визуализации - камеру. Для трехмерной анимации необходимо настроить перемещения объектов сцены и задать количество кадров. Движение объектов в трехмерном пространстве задается по траекториям, ключевым кадрам и с помощью формул, связывающих движение частей сложных конструкций. После задания нужного движения, освещения и материалов запускается процесс визуализации, в ходе которого просчитываются характеристики всех объектов сцены и генерируется последовательность изображений. Двухмерная анимация также использует традиционный покадровый принцип, только для создания последовательности используются двумерные изображения.
Для редактирования видео существует большое количество программных продуктов. Профессиональные видео-редакторы позволяют редактировать несколько видео- и звуковых каналов и осуществлять монтаж видеофрагментов в единую композицию. Они содержат наборы переходов между кадрами, синхронизируют звук и изображение, а также поддерживают редактирование и сохранение наиболее популярных форматов видеофайлов.
Программы для работы со звуком можно условно разделить на две большие группы: звуковые редакторы, ориентированные на цифровые технологии записи звука, и программы-секвенсоры.
Секвенсоры предназначены для создания музыки, с их помощью выполняется кодировка музыкальных композиций, они используются для аранжировки, позволяя прописывать отдельные партии, назначать тембры инструментов, выстраивать уровни и балансы каналов, вводить музыкальные штрихи. Звуковые редакторы позволяют записывать звук в режиме реального времени на жесткий диск компьютера и преобразовывать его, используя возможности цифровой обработки звуковых частот и объединения различных каналов.
Средства создания презентаций, первоначально предназначенные для создания электронных слайдов, помогающих иллюстрировать сообщение докладчика, теперь все более ориентируются на применение мультимедиа . Существует большое количество таких программ, различающихся набором изобразительных и анимационных эффектов, способов управления презентаций и набором поддерживаемых мультимедиа файлов для импорта в качестве содержимого слайдов. По сути, презентация является информационным продуктом, объединяющим все мультимедиа форматы в одно целое.
Перспективы мультимедиа разнообразны, области применения будут расширяться, в том числе, благодаря появлению новых информационных технологий и способов обработки информации. Грамотное сочетание мультимедиа с другими технологиями будет способствовать более динамичному их развитию и еще большей интеграции во все сферы общества.
Для того, чтобы реализовывать эффектные и полезные мультимедиа приложения с использованием технологии Intel Perceptual Computing , в первую очередь , необходимо четко определить, какие именно мультимедиа форматы и в какой степени будут задействованы в конкретном приложении и какие технологии нужны для работы с этими мультимедиа форматами. Успех таких приложений будет в большей степени зависеть от того, насколько разработчики опытны в использовании тех или иных подключаемых библиотек функций, с помощью которых происходит обработка мультимедиа потока. Такое приложение будет полезно пользователю только в том случае, если оно корректно обрабатывает мультимедиа содержимое и является правильно реализованным с технической точки зрения. Поэтому, прежде чем начинать разработку мультимедиа приложения с использованием Intel Perceptual Computing , необходимо детально изучить принципы и особенности технологии обработки мультимедиа потоков, библиотеки функций и примеры программ. Только при условии, что управление с помощью технологии Intel Perceptual Computing будет дополнять полезный и корректно работающий мультимедиа -функционал, разработчику удастся воплотить все преимущества от синергии мультимедиа и Perceptual Computing .
Поскольку технология Intel Perceptual Computing позволяет создавать совершенно новый тип человеко-компьютерных интерфейсов, можно говорить о появлении нового поколения мультимедийных приложений, имеющих гораздо более широкий спектр возможностей по обработке различных типов файлов и потоков данных. Управление мультимедиа файлами теперь выходит за рамки классических представлений о взаимодействии человека и компьютера и превращается в увлекательный творческий процесс. Использование технологии Perceptual Computing увеличивает степень интерактивности мультимедиа приложений, которые сами по себе являются действенным инструментом вовлечения. Симбиоз технологий мультимедиа и Perceptual Computing особенно эффективен в образовательной и развлекательной сферах человеческой деятельности, но также может быть применим в коммерческих и рекламных целях, на различных презентациях и демонстрациях.
При грамотном сочетании двух технологий готовые приложения позволяют как решать простые и бытовые пользовательские задачи, так и выступать в качестве гибкого и сложного инструмента в различных сферах, включая медиа-искусство и digital-индустрию. С помощью Perceptual Computing можно облегчить управление сложными программными комплексами, где используется несколько мультимедиа технологий и сделать параллельную работу, например, с графикой и звуком, более удобной для пользователя. При продуманной агрегации нескольких мультимедиа технологий в одном приложении пользователю предоставляется больше возможностей для работы с цифровой информацией, что только усиливается при использовании жестового или голосового управления.
Одним из наиболее распространенных способов комбинирования технологий мультимедиа и Perceptual Computing является создание различных симуляторов, которые позволяют тренировать определенные навыки, в том числе симуляторы игры на музыкальных инструментах. Приложения, позволяющие пользователю играть на виртуальных музыкальных инструментах, не являются принципиально новыми, однако использование жестового интерфейса позволяет достигнуть гораздо большей реалистичности. Еще одни преимуществом таких симуляторов перед стандартными нежестовыми реализациями является возможность параллельного управления приложением двумя руками, что также приближает виртуальные музыкальные инструменты к реальным.
Простейшим примером музыкального симулятора является приложение Drummer, которое позволяет имитировать игру на ударных ( рис. 5.1). Основная функция приложения - запись звуковой и нотной дорожки. Пользователь может скомпоновать ударную установку из нескольких предметов, начать сеанс записи, остановить запись . В управлении симулятором используются жесты обеих рук. Предпочтение отдано динамическим жестам, с помощью жестов захвата происходит перемещение объектов приложения, двойной жест "большой палец вверх" используется для остановки записи. Голосовое управление в приложении не предусмотрено.
Рис.
5.1.
Другой вариант применения Intel Perceptual Computing - дирижер виртуального оркестра ( рис. 5.2). Приложение следит за частотой и размером жестов пользователя и в зависимости от этих характеристик меняет громкость и скорость звучания воспроизводимой музыкальной дорожки. Управление программой осуществляется с помощью характерных дирижерских жестов, причем жесты должны соответствовать размеру музыкального такта проигрываемой композиции. По факту, программой распознаются последовательности горизонтальных и вертикальных взмахов, из которых состоят движения дирижера. Дополнительной функциональностью является графическое отображение активных в данный момент партий оркестра. Аналогичное приложение можно реализовать как надстройку над любой популярной программой, читающей и воспроизводящей нотные табулатуры.
Поскольку разработчики ничем не ограничены в выборе мультимедиа технологий и способах их использования, возможны более функционально сложные реализации музыкальных симуляторов, предназначенных как для обучающих, так и досуговых целей, сочетающих в себе несколько мультимедийных технологий. Возможно создание симуляторов с различными уровнями сложности или использующих дополнительные устройства, такие как портативный мультимедиа проектор. Качественным примером такого приложения может быть программный комплекс, обучающий пользователя игре на виртуальном пианино. Отображая с помощью проектора виртуальные клавиши на горизонтальной поверхности, приложение изменяет цвет клавиш, на который нужно нажать в тот или иной момент проигрываемой композиции. При этом отслеживаются движения рук пользователя и закрываемые его пальцами клавиши. По "нажатию" клавиши воспроизводится соответствующий звук, что дает понять пользователю, насколько верно он играет композицию. Также к основному функционалу можно добавить отображение нот и перемещающейся метки проигрывателя. Более простая реализация такого типа приложений - имитация игры на ксилофоне.
Другой тип мультимедиа приложений с главенствующей музыкальной составляющей - синтезаторы. Они применимы, в основном, в развлекательных целях, но их жестовые реализации потенциально могут стать неотъемлемым атрибутом digital-искусства. Одной из реализаций такого типа синтезаторов является приложение JOY ( рис. 5.3). При его разработке использовались не только аудио технологии, но и различный инструментарий для графического моделирования и генерирования изображений. При старте приложения пользователь выбирает аудиокомпозицию и запускает воспроизведение. Композиция состоит из 10 дорожек, управление которыми происходит с помощью поднятия и опускания пальцев. Изменение расстояния между кистей рук меняет эффект реверберации (отражения) звука. Вертикальное перемещение ладоней в разные стороны регулирует частоту колебаний, баланс звука и эхо изменяются при отдалении и приближении ладоней к камере с сенсорами глубины. Параллельно происходит управление видеорядом. На экране точками отображаются активные звуковые дорожки, геометрические объекты также зависят от количества поднятых пальцев, распознанных приложением, и пульсируют в соответствии с ритмом воспроизводимой композиции.
Управление генерацией видеоряда в режиме реального времени может быть реализовано как отдельное приложение . В данном случае основной функциональностью станет генерация последовательности изображений, регулируемая голосовыми и жестовыми командами пользователя. Многообразие инструментов для работы с графическими данными способствует созданию огромного множества подобных приложений, различающихся способами генерации изображений и подходами к управлению этими процессами. В первую очередь , следует подразделить такие приложения по типу генерируемой графики на двумерные и трехмерные. От того, какой вид графики выбран, будут зависеть сложность реализации, спектр возможностей приложения и количество управляющих команд.
Реализация приложений, генерирующих видеопоток из двумерных изображений, является более простой и подходит для разработчиков, которые только начинают знакомиться с технологиями и инструментами обработки графики. Видеопоток, создаваемый с помощью таких приложений, содержит в основном абстрактные графические образы, которые деформируются и изменяются с течением времени. Существует большое количество различных библиотек, содержащих классы и методы для работы с графическими объектами, их свойствами и характеристиками, использование которых упростит создание анимационной части приложения. В данном случае реализация управления через жестовый интерфейс осуществляется путем разделения функций редактирования свойств графического объекта с функциями изменения траектории и скорости его движения. Для облегчения управления приложением и создания гармоничной анимации рекомендуется выделять один главный графический объект , а поведение всех остальных реализовывать как зависимое от характеристик и свойств главного объекта. В качестве примера распределения функций управления графическим объектом можно рассмотреть вариант, когда размер объекта и его положение на экране регулируется жестами одной руки, а такие характеристики, как цвет, форма, угол вращения задаются с помощью жестов другой руки. Дополнительной функцией такого приложения может быть сохранение сгенерированного видеопотока в файл с возможностью последующего воспроизведения с помощью любого мультимедиа проигрывателя.
Генерация трехмерного видеопотока в режиме реального времени ( рис. 5.4) осуществляется по сходному принципу, однако, является более сложной задачей, поскольку требует от разработчика понимания принципов построения трехмерных изображений и продвинутых навыков работы с 3D-библиотеками. Графическая составляющая такого приложения может быть реализована как пространственное движение скопления нескольких однородных объектов с варьирующимися свойствами, например, несколько не одинаковых по размеру кубов разных оттенков зеленого или более сложные трехмерные модели, например, имитация хаотично движущейся стаи рыб. Для удобства реализации функций управления графикой рекомендуется задавать в скоплении один главный элемент, а все параметры всех остальных объектов ставить в зависимость от положения и состояния главного объекта.
Управление свойствами объектов и их местоположением, как и в случае с двумерной графикой, рекомендуется разделять. В данном случае, возможно реализовать дополнительные функции изменения точки обзора путем контроля положения лица пользователя и при наклоне головы поворачивать трехмерную сцену в соответствующую сторону. Также возможно разработать систему голосовых команд, управляющих трехмерной сценой и средой, окружающей основные объекты. Например, можно предусмотреть варианты управления оттенком фона, степенью освещенности и прозрачностью объектов, моделированием дополнительных эффектов, имитирующих с помощью различных текстур различные явления реального мира, например, морскую воду, ураганный ветер, сильное пламя. Аналогичный прием будет приемлем и для приложений, генерирующих двумерный видеоряд. графический редактор ( рис. 5.5) обеспечивает функциональность по созданию и редактированию объемных тел из простейших элементов, а также индивидуальное задание свойства цвета для каждого элементу, из которого состоит создаваемое тело. Контроль над приложением осуществляется с помощью двух курсоров, которые управляются простейшими жестовыми командами - двумя раскрытыми ладонями и движениями указательными пальцами. Трехмерный объект создается из базовых элементов - кубов единого размера, для каждого из них существует возможность определения цвета из палитры-спектра. Реализованы такие возможности управления трехмерным рабочим пространством, как вращение вокруг объекта, приближение, отдаление и перемещение