Составители:
программ. Так, существует единый набор команд для воспроизведения аудиофайлов с
помощью любой звуковой карты. В ОС Windows функции, предназначенные для выпол-
нения мультимедийных операций, находятся в библиотеке WinMM.DLL. Соответствен-
но, подсистема Win32, предназначенная для интерпретации и выполнения мультиме-
дийных команд, называется WinMM. Следует отметить, что приложение, использующее
команды WinMM, должно содержать файл Mmsystem.H и иметь связь с библиотекой
Winmm.LIB. (В среде Windows 3.1 мультимедийные функции находятся в файле Mmsys-
tem.DLL). Таким образом, при переносе приложения из Windows 3.1 в более современ-
ные ОС семейства Windows необходимо убедится в том, что в МАК-файле вместо
Mmsystem.LIB включен файл Winmm.LIB.
Операционная система обеспечивает четыре различных способа управления муль-
тимедийными операциями: два набора команд высокого уровня, один набор команд низ-
кого уровня и набор команд для ввода/вывода файлов.
Команды высокого и низкого уровней управляют одними и теми же мультимедий-
ными устройствами. Первые удобнее в использовании, но вторые являются более мощ-
ными. Кроме того, поскольку все высокоуровневые команды реализованы с помощью
функций низкого уровня, лучшего быстродействия можно достичь при непосредствен-
ном выполнении низкоуровневых команд.
Команды низкого уровня взаимодействуют непосредственно с драйверами физиче-
ских устройств. Команды высокого уровня взаимодействуют с драйверами логических
устройств. В Windows есть три логических мультимедийных устройства:
MIDI-синтезатор, проигрыватель компакт-дисков и проигрыватель аудиофайлов. Эти
устройства преобразуют высокоуровневые команды в обращения к функциям низкого
уровня, адресованные конкретным физическим устройствам. API высокого уровня,
сформированный драйверами логических устройств, называется MCI (Media Control In-
terface - интерфейс управления средой). MCI-команды избавляют программиста от необ-
ходимости учета множества подробностей, связанных с управлением потоками данных,
однако за счет некоторого уменьшения гибкости.
Мультимедийные команды низкого уровня необходимы только в специализиро-
ванных программах. Функции высокого уровня позволяют воспроизводить MIDI-файлы,
видеоклипы, воспроизводить записи с лазерных и компакт-дисков, а также записывать и
воспроизводить звуковые файлы.
MCI поддерживает два параллельных набора функций: интерфейс команд и интер-
фейс сообщений. Командные строки и управляющие сообщения служат для выполнения
одних и тех же операций, но первые используются в системах авторской разработки при
написании пользовательских командных сценариев управления устройствами. Функция
mciSendCommand() посылает управляющие сообщения, например MCI_OPEN или
MCI_PLAY. Аналогичная функция mciSendString() посылает соответствующие строки,
например open c:\sounds\harp.wav или play waveaudio to 500.
Четвертый набор MCI-команд обеспечивает чтение и запись мультимедийных
файлов. Мультимедийные команды ввода/вывода (MMIO - Multimedia I/O) воспринима-
ют стандартный формат организации файлов - RIFF (он будет рассмотрен ниже), а также
осуществляют буферизацию, которая обеспечивает оптимальное распределение интен-
сивных потоков данных.
Поскольку синхронизация играет очень большую роль при выполнении мультиме-
дийных операций, в частности при воспроизведении MIDI-файлов и координации рабо-
ты различных устройств, осуществляющих одновременную обработку данных, подсис-
тема WinMM поддерживает усовершенствованные функции таймера. Мультимедийный
таймер не посылает сообщения WM_TIMER. Его работа основана на прерываниях. Цен-
тральный процессор регулярно получает сигналы прерываний от микросхемы таймера, а
220
программ. Так, существует единый набор команд для воспроизведения аудиофайлов с помощью любой звуковой карты. В ОС Windows функции, предназначенные для выпол- нения мультимедийных операций, находятся в библиотеке WinMM.DLL. Соответствен- но, подсистема Win32, предназначенная для интерпретации и выполнения мультиме- дийных команд, называется WinMM. Следует отметить, что приложение, использующее команды WinMM, должно содержать файл Mmsystem.H и иметь связь с библиотекой Winmm.LIB. (В среде Windows 3.1 мультимедийные функции находятся в файле Mmsys- tem.DLL). Таким образом, при переносе приложения из Windows 3.1 в более современ- ные ОС семейства Windows необходимо убедится в том, что в МАК-файле вместо Mmsystem.LIB включен файл Winmm.LIB. Операционная система обеспечивает четыре различных способа управления муль- тимедийными операциями: два набора команд высокого уровня, один набор команд низ- кого уровня и набор команд для ввода/вывода файлов. Команды высокого и низкого уровней управляют одними и теми же мультимедий- ными устройствами. Первые удобнее в использовании, но вторые являются более мощ- ными. Кроме того, поскольку все высокоуровневые команды реализованы с помощью функций низкого уровня, лучшего быстродействия можно достичь при непосредствен- ном выполнении низкоуровневых команд. Команды низкого уровня взаимодействуют непосредственно с драйверами физиче- ских устройств. Команды высокого уровня взаимодействуют с драйверами логических устройств. В Windows есть три логических мультимедийных устройства: MIDI-синтезатор, проигрыватель компакт-дисков и проигрыватель аудиофайлов. Эти устройства преобразуют высокоуровневые команды в обращения к функциям низкого уровня, адресованные конкретным физическим устройствам. API высокого уровня, сформированный драйверами логических устройств, называется MCI (Media Control In- terface - интерфейс управления средой). MCI-команды избавляют программиста от необ- ходимости учета множества подробностей, связанных с управлением потоками данных, однако за счет некоторого уменьшения гибкости. Мультимедийные команды низкого уровня необходимы только в специализиро- ванных программах. Функции высокого уровня позволяют воспроизводить MIDI-файлы, видеоклипы, воспроизводить записи с лазерных и компакт-дисков, а также записывать и воспроизводить звуковые файлы. MCI поддерживает два параллельных набора функций: интерфейс команд и интер- фейс сообщений. Командные строки и управляющие сообщения служат для выполнения одних и тех же операций, но первые используются в системах авторской разработки при написании пользовательских командных сценариев управления устройствами. Функция mciSendCommand() посылает управляющие сообщения, например MCI_OPEN или MCI_PLAY. Аналогичная функция mciSendString() посылает соответствующие строки, например open c:\sounds\harp.wav или play waveaudio to 500. Четвертый набор MCI-команд обеспечивает чтение и запись мультимедийных файлов. Мультимедийные команды ввода/вывода (MMIO - Multimedia I/O) воспринима- ют стандартный формат организации файлов - RIFF (он будет рассмотрен ниже), а также осуществляют буферизацию, которая обеспечивает оптимальное распределение интен- сивных потоков данных. Поскольку синхронизация играет очень большую роль при выполнении мультиме- дийных операций, в частности при воспроизведении MIDI-файлов и координации рабо- ты различных устройств, осуществляющих одновременную обработку данных, подсис- тема WinMM поддерживает усовершенствованные функции таймера. Мультимедийный таймер не посылает сообщения WM_TIMER. Его работа основана на прерываниях. Цен- тральный процессор регулярно получает сигналы прерываний от микросхемы таймера, а 220
Страницы
- « первая
- ‹ предыдущая
- …
- 216
- 217
- 218
- 219
- 220
- …
- следующая ›
- последняя »