Программирование мультимедиа-систем - 32 стр.

UptoLike

Составители: 

- 32 -
ние выполняется и FALSE в противоположном случае. При использовании
функций
MessageBeep и sndPlaySound WAV-файл должен полностью
помещаться в физическую память.
В работе [6] приведен полный С-код приложения
SNDPLAY, демон-
стрирующего различные способы использования функции
sndPlaySound.
3.4. Интерфейс управляющих строк MCI
MCI
(Media Control Interface) представляет собой универсальный, не-
зависимый от особенной аппаратуры интерфейс, предназначенный для
управления устройствами мультимедиа (звуковые и видеоадаптеры, уст-
ройства чтения звуковых компакт-дисков и лазерных видеодисков). Воз-
можности интерфейса MCI удовлетворяют практически всем потребностям
любого приложения мультимедиа, предназначенного для записи и воспро-
изведения звуковой или видеоинформации; при необходимости обработки
данных на
низком уровне или в реальном времени (редактирование и пре-
образование WAV-файлов, распознавание речи и/или образов, преобразо-
вание речи в режиме реальном времени) может использоваться нижеопи-
санным интерфейсом низкого уровня. Ниже подробно описано использо-
вание интерфейса MCI при работе со звуком, однако MCI также эффекти-
вен при работе с видео; известный
Delphi- и C++Builder-компонент Me-
diaPlayer
(подробнее см. подраздел 5.3.4) является всего лишь надстрой-
кой над уровнем MCI-инструкций.
Достаточно подробное описание интерфейса MCI приведено в работе
[5]; там же дано множество фрагментов исходного кода и готовых (не-
сложных) приложений. Все функции интерфейса MCI экспортируются из
библиотеки
mmsystem.dll; эти функции непосредственно обращаются к
драйвер
ам устройств ввода/вывода и к функциям низкого уровня, опреде-
ленным в той же библиотеке. Заметим, что не все команды могут быть вы-
полнены конкретным устройством мультимедиа (например, не все устрой-
ства работы с лазерными дисками имеют возможность их записи), поэтому
перед использованием устройства необходимо программно выяснить его
возможности (для чего
имеются специальные функции).
Приложения могут использовать два типа программного интерфейса
MCI - основанный на использовании текстовых команд
интерфейс управ-
ляющих строк
(Command-String Interface) и основанный на посылке сооб-
щений
интерфейс управляющих событий (Command-Message Interface, см.
подраздел 3.5 данной работы).
Интерфейс управляющих строк удобен для использования в системах
программирования высокого уровня; например, для проигрывания звуко-
вого файла
ding.wav достаточно передать звуковому адаптеру следующую
последовательность управляющих строк
                                   - 32 -


ние выполняется и FALSE в противоположном случае. При использовании
функций MessageBeep и sndPlaySound WAV-файл должен полностью
помещаться в физическую память.
     В работе [6] приведен полный С-код приложения SNDPLAY, демон-
стрирующего различные способы использования функции sndPlaySound.

  3.4. Интерфейс управляющих строк MCI

     MCI (Media Control Interface) представляет собой универсальный, не-
зависимый от особенной аппаратуры интерфейс, предназначенный для
управления устройствами мультимедиа (звуковые и видеоадаптеры, уст-
ройства чтения звуковых компакт-дисков и лазерных видеодисков). Воз-
можности интерфейса MCI удовлетворяют практически всем потребностям
любого приложения мультимедиа, предназначенного для записи и воспро-
изведения звуковой или видеоинформации; при необходимости обработки
данных на низком уровне или в реальном времени (редактирование и пре-
образование WAV-файлов, распознавание речи и/или образов, преобразо-
вание речи в режиме реальном времени) может использоваться нижеопи-
санным интерфейсом низкого уровня. Ниже подробно описано использо-
вание интерфейса MCI при работе со звуком, однако MCI также эффекти-
вен при работе с видео; известный Delphi- и C++Builder-компонент Me-
diaPlayer (подробнее см. подраздел 5.3.4) является всего лишь надстрой-
кой над уровнем MCI-инструкций.
     Достаточно подробное описание интерфейса MCI приведено в работе
[5]; там же дано множество фрагментов исходного кода и готовых (не-
сложных) приложений. Все функции интерфейса MCI экспортируются из
библиотеки mmsystem.dll; эти функции непосредственно обращаются к
драйверам устройств ввода/вывода и к функциям низкого уровня, опреде-
ленным в той же библиотеке. Заметим, что не все команды могут быть вы-
полнены конкретным устройством мультимедиа (например, не все устрой-
ства работы с лазерными дисками имеют возможность их записи), поэтому
перед использованием устройства необходимо программно выяснить его
возможности (для чего имеются специальные функции).
     Приложения могут использовать два типа программного интерфейса
MCI - основанный на использовании текстовых команд интерфейс управ-
ляющих строк (Command-String Interface) и основанный на посылке сооб-
щений интерфейс управляющих событий (Command-Message Interface, см.
подраздел 3.5 данной работы).
     Интерфейс управляющих строк удобен для использования в системах
программирования высокого уровня; например, для проигрывания звуко-
вого файла ding.wav достаточно передать звуковому адаптеру следующую
последовательность управляющих строк