Начиная приблизительно с 1995 года, технология мультимедиа, до того времени свойственная в основном компьютерам Apple, начинает стремительно завоевывать новую платформу - PC. Это связано главным образом с двумя обстоятельствами - развитием аппаратной части и выходом системы Windows 95.
Несмотря на все свои недостатки, эта система является на сегодняшний день лучшей для работы с компонентами мультимедиа. Это достигается благодаря поддержке широкого спектра аппаратного обеспечения и унифицированному интерфейсу работы с ним. Кроме того, в системе удачно реализована работа с различными типами мультимедиа-данных. Достаточно просто добавить в систему свой аудио или видео кодек, после чего с ним смогут работать все приложения с использованием стандартного API.
Первоначально мультимедиа-приложения разрабатывались при помощи стандартных универсальных средств программирования. Такой подход можно зачастую встретить и сейчас, и он иногда оправдан. Нет смысла использовать какие-либо специализированные инструменты, если количество операций над мультимедиа-данными невелико. Например, если просто необходимо воспроизводить видеоролики. Такого рода операции можно элементарно реализовать на том же Delphi или Visual C.
Однако существует целый ряд приложений, требующих массированной обработки графики, видео и звука, да еще интерактивно. К этому классу продуктов относятся, например, обучающие программы, мультимедиа-энциклопедии, презентации и т.п. Разработка таких продуктов при помощи универсальных систем программирования является достаточно трудоемким процессом, кроме того, данные таких приложений, как правило, занимают избыточный объем дискового пространства.
Существует также еще одна проблема. Зачастую мультимедиа-продукты (те же презентации) предполагают их публикацию в том или ином виде в Internet. В случае использования традиционных средств програмирования для переноса приложения в Internet всю работу приходится переделывать заново.
Однако существует целый класс продуктов, которые призваны решать эти проблемы и максимально облегчить жизнь разработчиков мультимедиа. Большая часть их мигрировала на PC с платформы Apple как раз после 1995 года, так что они существуют в версиях как для Windows 95, так и для Mac-OS. В первую очередь это линейка продуктов фирмы Macromedia - Director, Authorware и др. Продукты этой фирмы - уже практически стандарт в этой области как для локальных приложений (главным образом - мультимедиа CD-ROM`ы), так и для Internet. Однако на них свет клином не сошелся - на рынке представлен также ряд разработок других фирм. Например, это Toolbook II Publisher фирмы Asymetrix. Можно также назвать некоторые российские разработки, например, HyperMethod 2.5 или MM-Дизайнер 1.0.
Итак, что же отличает эти продукты от традиционных средств разработки ПО? В первую очередь они ориентированы не на профессиональных программистов, а, скорее, на дизайнеров. Большую часть времени разработчик занят взаимодействием с различными визуальными средствами, позволяющими решать все наиболее часто встречающиеся задачи, возникающие в мультимедиа-приложениях. Такие моменты, как анимация, создание кнопок и областей чувствительности и построение типичных реакций на действия пользователя, вовсе не требуют написания кода.
Например, в Macromedia Director все приложение рассматривается как один длинный видеоролик, который образуется в результате экспонирования сцены, состоящей из компонентов, называемых спрайтами. Спрайт - это все, что угодно, начиная от картинки и заканчивая звуком. Поведение спрайтов можно контролировать, задавая его визуально на стадии проектирования или же интерактивно, в зависимости от реакций пользователя, при помощи написания программного кода. Система включает полномасштабный язык программирования, который можно использовать для создания сколько угодно сложных приложений, однако для несложных программ нет необходимости в его применении. Существует обширная библиотека стандартных обработчиков, перекрываюящая весь спектр типичных действий вроде перехода на новый участок фильма при щелчке мышью по спрайту, проигрывания звукозаписи при наступлении определенного события или приостановки воспроизведения в ожидании реакции пользователя.
Для визуального задания поведения спрайтов используется модель анимации при помощи ключевых кадров. При этом могут изменяться практически все параметры спрайта. Анимированию поддаются не только такие классические параметры, как движение и цветность, но и, например, способ наложения спрайта, его прозрачность и т.д. Конечно, те же параметры могут изменяться и программно в процессе работы приложения.
Очень примечательна объектная модель, примененная в Macromedia Director. Система использует типичную модель с событийным управлением вроде той, что используется в средствах RAD фирмы Borland. Однако, что интересно, существует как бы два уровня объектов, для которых может задаваться поведение. При импортировании файла в Director (а он, кстати, умеет импортировать почти все форматы мультимедиа-данных, включая, например, PSD), объект не становится спрайтом, а попадает в специальный список, называемый cast (что-то вроде "списка исполнителей", говоря по-русски). Уже здесь ему могут быть назначены некоторые обработчики. Из одного объекта в cast может быть сгенерировано любое количество спрайтов, сильно отличающихся друг от друга своими свойствами - например, размером или прозрачностью. Всем им могут быть назначены свои, уникальные, обработчики. И в то же время они будут разделять обработчики своего родителя. Это позволяет достичь большой гибкости при написании программ.
Почти все средства разработки мультимедиа имеют тот или иной интерфейс с базами данных. Toolbook II, например, имеет встроенные команды для работы с базами xbase и pardox. Director, не имея встроенных средств взаимодействия с базами данных, способен работать с ними при помощи пакетов расширений - например, существуют такие пакеты для работы с Access, xbase и ODBC.
По-разному решают средства разработки мультимедиа проблему экспорта разработанных приложений для публикации в Интернете. Все без исключения приложения Macromedia умеют экспортировать приложнения в формат shockwave. Этот формат просматривается как MS IE, так и Netscape при наличии небольшого (100K) модуля расширения, который уже стал стандартом. Начиная с версии Netscape 4.5, он входит в стандартную поставку. При этом приложение на странице ничем не отличается от локального варианта. Shockwave использует технологию streaming, так что приложение начинает работу сразу же после того, как будут подгружены данные, необходимые для визуализации первой сцены. Остальные данные постепенно подгружаются во время работы. При этом shockwave использует эффективные средства упаковки данных, что сильно уменьшает время загрузки. Достаточно комплексное приложение может занимать 400-600K.
Такие средства, как Toolbook II и MM-Дизайнер умеют экспортировать проекты непосредственно в HTML. Однако при этом неизбежно частично теряется функциональность. Например не удается экспортировать определенные пользователем обработчики событий, так что после экспорта необходима некоторая доработка полученных страниц. Toolbook вообще справляется с этой задачей неудовлетворительно, но использование MM-Дизайнер дает вполне приличный результат.
Таким образом, для разработки мультимедиа-приложений имеет смысл использовать не универсальные средства программирования, а специализированные продукты, которые, к сожалению, еще не получили у нас достаточной известности.
Денис МАРГОЛИН,
pb8266@belsonet.net