Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВВЕДЕНИЕ В МУЛЬТИМЕДИА.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
661.5 Кб
Скачать

4. Использование параметра wait

Большинство MCI-команд запускает новый процесс, в котором участвует MCI-устройство, например, процесс проигрывания дорожки аудиодиска. Если в команде используется параметр wait, то команда ждёт окончания этого процесса, а затем передаёт управление дальше по программе. Досрочно продолжить выполнение программы (без прекращения MCI-процесса, т.е. параллельно с ним) в этом случае можно только нажатием клавиши прерывания CTRL+BREAK. С помощью MCI-команды break можно изменить эту клавишу или даже вовсе отменить возможность продолжения программы до окончания  MCI-процесса.

Если же в MCI-команде отсутствует параметр wait, то она не ждёт окончания созданного ею MCI-процесса, а сразу передаёт управление дальше по программе, т.е. новый MCI-процесс выполняется параллельно с основной программой. Так легко можно озвучить любой программный фрагмент. В этом случае, как правило, в программе предусматривается досрочное прекращение MCI-процесса с помощью другой MCI-команды (например, close, pause или даже снова play), вызываемой каким-нибудь событием, например, щелчком мыши. Иногда программе необходимо ловить момент завершения параллельного MCI-процесса. Для этого в запускающей процесс MCI-команде используется параметр notify.

5. Использование параметра notify

Как уже говорилось выше, MCI-команда, запустив соответствующий MCI-процесс, может передать управление основной программе, после чего программа и этот процесс будут выполняться параллельно. Чтобы программа могла узнать о завершении параллельного MCI-процесса, не проверяя этого самостоятельно (что весьма затруднительно), можно в MCI-команде, запускающей процесс, использовать параметр notify. Это заставляет MCI-устройство в случае завершения процесса послать сообщение MM_MCINOTIFY, информирующее о характере завершения и устройстве. Сообщение автоматически направляется окну, указанному четвёртым параметром функции mciSendString, пославшей команду с параметром notify, и может быть обработано процедурой этого окна. 

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

Детали использования сообщения MM_MCINOTIFY рассматриваются в [Windows 3.1 Multimedia Reference/ Function Overview / Media Control Interface Services /  Media Control Interface Messages / Window Notification Message / MM_MCINOTIFY]

В авторской системе Toolbook использование этого механизма значительно упрощено по сравнению с языками Visual С++ и Delphy.

6. Команды mci

Команды MCI делятся на

  • системные, выполняемые не MCI-устройствами, а самой системой;

  • обязательные для всех MCI-устройств;

  • основные, представляющие общий набор параметров для тех  MCI-устройств, на которых они выполняются;

  • расширенные, набор и параметры которых определяются устройством.

Списки системных, обязательных и основных команд и их параметров приводятся ниже. Более подробная информация о них, а также о расширенных командах по каждому из основных типов устройств приведена в справочнике MCI Command Strings. 

В нём отсутствует информация по командам для AVIVideo (здесь приводим её на русском языке).

 Системные команды

Системные команды не передаются MCI-устройствам, а обрабатываются самой системой MCI.

Команда

Описание

Параметры

break 

Устанавливает клавишу прерывания для MCI-устройства

{off | on код клавиши}

sysinfo 

Возвращает информацию об MCI-устройствах

{installname | name индекс | name индекс open | quantity | quantity open}

 

Обязательные команды

Обязательные команды вместе с перечисленными здесь параметрами должны поддерживаться всеми MCI-устройствами. Каждое устройство может поддерживать дополнительные параметры этих команд.

Команда

Описание

Параметры

capability

Сообщает о возможностях устройства

{can eject | can play | can record | can save | compound device | device type | has audio | has video | uses files}

close

Закрывает устройство

info

Получает текстовую информацию от устройства

[product]

open

Открывает устройство

[alias псевдоним] [shareable] [type тип устройства]

status

Информирует о состоянии устройства

[mode | ready] В случае параметра mode обязательным набором ответов является not ready | paused  | playing | stopped Возможны также и другие ответы

 Основные команды

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

Команда

Описание

Параметры

load

Загружает данные из файла

{имя файла}

pause

Приостанавливает запись или проигрывание

play

Начинает проигрывание

[from позиция] [to позиция]

record

Начинает запись

[from позиция] [to позиция] [insert | overwrite]

resume

Возобновляет приостановленную запись или проигрывание

save

Сохраняет данные в файл

[имя файла]

seek

"Перемотка" вперёд или назад

{to позиция| to start | to end}

set

Устанавливает режимы устройства

[audio all off | audio all on | audio left off | audio left on | audio right off | audio right on | video off | video on] [door closed | door open] [time format milliseconds | time format ms]

status

Информирует о состоянии устройства

{current track | length | length track номер | mode | number of tracks | position | position track номер | ready | start position | time format}

stop

Останавливает запись или проигрывание

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

Формат

Позиция

milliseconds ms

миллисекунда

msf

минута:секунда:кадр

tmsf

дорожка:минута:секунда:кадр

hms

час:минута:секунда (для видеодиска)

bytes

байт (для waveaudio)

samples

выборка (для waveaudio)

frames

кадр

track

дорожка (для видеодиска)

song pointer

1/16 ноты (для MIDI в формате PPQN)

smpte 24 smpte 25 smpte 30 smpte 30 drop

для MIDI в форматах PPQN и SMPTE

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

Лекция 3. ТЕКСТОВЫЕ ФАЙЛЫ (8 часов)

План.

  1. История появления текста

  2. Гипертекст и его краткая история

  3. Основы языка гипертекстов HTML. Понятие об HTML

  4. Форматирование текста

  5. Списки и таблицы

  6. Форматирование рисунков

1. История появления текста

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

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

Разработка страниц в WWW осуществляется с помощью языка HTML (HyperText Markup Language - язык гипертекстовой разметки).