Архивы: по дате | по разделам | по авторам

Мультимедиа для всех

АрхивПолезняшки (архив)
автор : Дмитрий Шарапенко   01.08.2002

Продолжение истории о Multimedia Builder или Да здравствует интерактивность!

Я неспроста дал статье именно такое название — это часть слогана компании MediaChance, занимающейся разработкой различных полезных программ для создания и работы с мультимедиа. Уже довольно давно этот термин приобрел невероятную популярность и на пару с загадочной «интерактивностью» продолжает завоевывать ее дальше. На самом деле, ничего таинственного в нем нет: «мультимедийность» чего-либо — это просто возможность представлять некую информацию не каким-то одним способом (как, например, радио), а сразу несколькими, то есть оперировать и текстом, и видео, и звуком и, даже, запахами. Правда последний способ довольно сложен и дорог, но, тем не менее, уже существует. Таким образом, даже Word можно причислить к мультимедиа-приложениям, так как он способен сопровождать звуками разные действия пользователя (в особенности — при включенном «Помощнике»).

Но вернемся к продуктам упомянутой мною компании. Еще пару лет назад у меня возникла необходимость снабдить записанный мною диск с MP3 простеньким проигрывателем, который мог бы автоматически запускаться при загрузке компакта. Порывшись тогда в сети, я выяснил, что для автозапуска чего-либо на диске должен присутствовать файл autorun.inf и стал искать, что он из себя представляет и чем бы его попроще создать. Вот тогда-то мне и попалась на глаза программа от MediaChance под всеобъемлющим названием Multimedia Builder. Такую вещь я не мог пропустить, хотя тут же понял, что ее функции на порядок превышают мои скромные запросы по созданию «автозапуска» для CD. Кроме всего прочего, с помощью MMB можно было за пару минут сваять собственный MP3-проигрыватель, чем я немедленно и воспользовался. Однако проигрывание музыки — это еще не вся «мультимедиа», поэтому интересующихся этой возможностью программы я могу отослать к своей предыдущей статье, а сейчас хочу рассказать об остальных возможностях.


Рисунок 1

Для начала я просто перечислю список возможных применений MMB, который предлагают его авторы:

  • «автозапускалки» для компакт-дисков с любым содержимым
  • различные справочники и учебники
  • фотоальбомы
  • удобные оболочки для работы с различными типами информации или программами
  • проигрыватели CD-Audio и MP3
  • создание презентаций и дисков-«визиток»

Довольно неплохо, на мой взгляд. К этому надо добавить самую важную деталь: все, что вы сделаете с помощью MMB, можно сохранить в виде самостоятельной программы, запустить которую можно будет практически на любом компьютере, работающем под Windows! Кроме того, в последней версии (в настоящее время последней версией MMB является 4.8) появилось несколько радикальных новшеств разной степени полезности. К самым важным можно отнести возможности отображения HTML-документов, совершенствование внутреннего макроязыка и принудительной смены разрешения экрана при запуске вашего приложения. Неплохой «второстепенной» добавкой я считаю появление «скинов», то есть способности поменять интерфейс программы под свой вкус (рисунок 2). Однако прелести расписывать можно еще долго, но лучше перейти к паре-тройке практических примеров, раскрывающих принципы работы Multimedia Buildera.


Рисунок 2

Кстати, небольшое промежуточное замечание. Для MMB имеется русификатор [1], который может приятно облегчить вашу работу. Однако он оставляет желать лучшего — переведен только интерфейс и некоторые функции, при этом нет и намека на локализацию «Помощи», да и в процессе работы вы можете наткнуться на жуткую смесь двух языков. Поэтому у себя я русский модуль оставлять не стал и все примеры в этой статье рассматривают англоязычный интерфейс. Но если вы не знаете английского, то русификатор очень поможет вам в освоении программы.

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

Для начала надо определиться с габаритами вашего детища. Если вы его делаете только «под себя», то лучше ориентироваться на разрешение, с которым вы обычно работаете. Если же предполагается, что вашими трудами воспользуется кто-то еще, то лучше взять за основу 800х600 — все-таки подавляющее большинство людей использует именно такие параметры. Залезаем в меню Project — General Settings и видим картину, представленную на Рисунке 3.


Рисунок 3

Кроме задания размеров окна будущего проекта здесь же можно определить, будет ли приложение открываться в виде окна (по умолчанию) или займет собой весь экран (параметр Full Screen Background). Или же вообще, сменит «под себя» разрешение экрана, чтобы выглядеть одинаково «читаемым» на любом компьютере (Display Resolution — Try to change to…). Тут же есть параметр Allow Up-Sizing, который позволит сменить разрешение не только «вниз», но и «вверх», правда здесь имеется один «подводный камень». Например, вы сделали проект, идеально выглядящий при разрешении 1024х768, что и указываете в качестве желаемого. Если у человека стоит большее разрешение, то уж и меньшее его монитор явно поддерживает (хотя это предположение не очень верно для ЖК-мониторов — сменить-то они могут, а вот как это будет выглядеть…), а вот если у вас древний 14-дюймовый агрегат, максимум для которого — 800х600, то результат будет весьма плачевен.

Теперь посмотрим на рабочее окно (Рисунок 4).


Рисунок 4

Для выполнения нашей задачи нас интересует вертикальная панель с инструментами слева, вертикальная же панель объектов справа и рабочая область. Сначала неплохо бы задать фон для вашего детища. Для этого можно либо залезть в меню Page — Properties, либо воспользоваться одной из пиктограмм в нижней части рабочей области. Теперь найдем в конце панели инструментов иконку HTML Object (название инструмента высвечивается при наведении на него курсора мышки), после щелчка по ней переводим курсор на рабочее поле, жмем левую кнопку мыши и, не отпуская, «рисуем» окно нужного размера. После этого щелкаем пару раз мышкой на созданном объекте и разглядываем его свойства (Рисунок 5).


Рисунок 5

При необходимости, тут можно задать «стартовую станицу», которая загрузится при запуске проекта, или вставку стандартных кнопок управления браузером. Однако нас сейчас интересует только опция Hide (Надо иметь ввиду, что «спрятанный» объект сложнее редактировать, в частности — менять размеры. Режим отображения можно регулировать с помощью «глаза» в панели объектов.). После этого поверх «браузера» можно создать какую-нибудь надпись или поместить картинку, и вот тут может возникнуть первая проблема. Если с картинкой все просто, то для создания надписи на русском языке придется полазить по свойствам объекта Text (Рисунок 6).


Рисунок 6

Для появления русских букв надо залезть в Font и выставить в качестве «Набора символов» кириллицу. Такая же проблема встречается и в некоторых других текстовых объектах.

Теперь приступим к самой важной части — производству кнопочек для просмотра нужных документов. В качестве кнопок можно использовать практически любой объект и в данном примере мы пойдем самым простым путем и выберем объект Text Button. Он представляет собой стандартную серенькую кнопочку с очень большими возможностями (Рисунок 7).


Рисунок 7

В поле Text надо ввести собственно название кнопки, поле Tool Tip содержит строку, которая будет вылезать при наведении на нее курсора. Опция Cursor позволяет выбирать вид курсора, который тот примет при наведении на кнопку.

Ну а самое интересное — это раздел Actions. Первая пиктограмма в этом разделе позволяет задавать событие, которое произойдет по щелчку мыши (On Mouse Click) на объекте. Ее функции перекликаются с четвертой пиктограммой с той лишь разницей, что тут можно задать лишь одно конкретное действие. Список действий представлен в выпадающем меню и разобраться с ним довольно просто. За второй пиктограммой скрывается настройка взаимодействий этого объекта с остальными в рамках текущей страницы. Принцип тот же, что и в первом случае, только связать действия можно с двумя типами событий: щелчок мышью и наведение курсора (Moving Mouse Over…). Под третьей иконкой настройка звукового сопровождения для тех же двух типов событий. А вот четвертая позволяет создавать комбинации команд (или писать более сложные скрипты с помощью макроязыка MMB) и она-то нам и понадобится.

После нажатия на иконку вы увидите окно с двумя полями. Тут также задается описание двух типов событий, только настройка более «тонкая»: отслеживается начало и конец нажатия на кнопку! Правда отслеживание «начала» нужно лишь для некоторых действий с графикой и особого интереса не представляет. А потому команды имеет смысл вводить только в нижнее окошко. Сделать это можно двумя путями: воспользоваться Wizard'ом или вводить их вручную (Рисунок 8).


Рисунок 8

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

Show("Browser")
Browser("Browser","<SrcDir>\quickmask\quickmask.htm")

Помните, что в опциях объекта «браузер» мы отметили галочкой пункт Hide? Вот первая из команд и предназначена для того, чтобы «показать» этот объект. То, что стоит в скобках — это имя объекта. Если бы в свойствах «браузера» был изменен пункт Label и назван, скажем, "chungachanga", то это же имя надо было бы подставить команде Show. Не ошибитесь — размер букв (строчные/заглавные) имеет значение и объекты "ff" и "FF" есть две большие разницы. Кроме того, не советую использовать кириллицу для названий объектов. Ошибок пока не встречал, но лучше не рисковать, так как в другом случае это критично…но об этом ниже.

Вторая команда передает объекту «браузер» адрес документа. В данном случае, я исхожу из следующего расположения файлов на диске: в корневом каталоге «лежит» созданная мной оболочка, в поддиректориях расположены HTML-документы с картинками. То есть в процессе подготовки файл проекта расположен, например, по адресу "d:\mmb_topic\sample\media1.mbd", а один из документов — "d:\mmb_topic\sample\quickmask\quickmask.htm". Однако, как вы можете заметить, адрес в скрипте выглядит иначе — он начинается с <SrcDir>. И вот об этом я расскажу подробно.

Дело в том, что ваш проект предназначен для записи на компакт диск, поэтому вы не можете заранее знать, по какому пути будут расположены файлы. Ведь у кого-то сидюк обозначен буквой "Е", у кого-то — "F", и так далее… А у некоторых привод может быть старым и медленным и они предпочитают копировать все с CD на жесткий диск. Чтобы программа сохраняла работоспособность, все пути должны бить не «абсолютными», а «относительными». Ключ SrcDir как раз указывает на то, что путь к файлу «относителен» и отсчитывается от места, где находится само приложение. Но в процессе отладки я крайне не советую сразу подставлять такой тип адресов. Несмотря на то, что файл проекта расположен в «нужной» папке, в качестве исходной в этот момент считается папка, куда установлен Multimedia Builder! Только после того, как вы закончите проект и сохраните его в виде приложения, относительные адреса такого типа начнут правильно работать.

Как же поступать в таком случае? А очень просто — во время разработки указывайте только полные адреса. А вот когда все закончите и оттестируете, сохраните проект и воспользуйтесь опцией «замены пути» (меню Project — Path Replace). После этого, не сохраняя проект, скомпилируйте из него приложение (меню File — Compile). В отрывшемся диалоге (Рисунок 9) нужно указать, куда сохранить готовое приложение, создавать ли autorun.inf (с чего и началось мое знакомство с программой…), какую иконку использовать. Обязательно должны быть отмечены пункты Player — Full и Stand Alone — Create Stand-Alone File.


Рисунок 9

Вот и все, запускаете приложение — и оно работает!



Рисунок 10

Вот еще пара советов, которые я пропустил:

  1. После того, как вы создали одну «кнопочку», просто скопируйте ее несколько раз, поменяйте название и конечную часть пути к документу — это значительно упростит задачу. Кроме того, заранее подберите размер кнопки, чтобы потом не выяснилось, что ее надо делать длиннее/короче. Потому что потом это придется проделать с каждой «кнопкой» в отдельности…
  2. Не используйте русские имена файлов и директорий — очень часто из-за этого ничего не работает! Я не знаю, в чем причина, но факт остается фактом — на вашем компьютере скомпилированное приложение может спокойно работать, а принесете к другу — и все…

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

Саму программу вы всегда можете скачать с сайта производителя, «весит» файл около 5Мб. Статус  — shareware. На ознакомление с MMB разработчики дают 30 дней, в течение которых функциональность никоим образом не ограничивается, но внизу готового проекта будет присутствовать небольшая строчка на желтом фоне, сообщающая о статусе продукта. Конечно, большая часть пользователей наверняка кинется искать в сети серийный номер, но я хочу призвать тех из вас, у кого есть возможность заплатить — сделайте это. Продукт действительно великолепен, а стоит всего $45! «Всего» потому, что ближайший аналог стоит в два раза дороже, причем при меньшей функциональности.

PS: В течение августа я постараюсь написать еще одну статью о Multimedia Builder, на этот раз — о создании многостраничных приложений.


[1] — Ссылка на русификатор, приведенная при публикации этой статьи в журнале Домашний Компьютер в настоящее время не доступна, поэтому загляните сюда.
[обратно к тексту]

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.