Классификации команд MCI

[Функция, связанная с этой страницей, MCI, является устаревшей функцией. Он был заменен MediaPlayer. MediaPlayer оптимизирован для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует по возможности использовать MediaPlayer вместо MCI. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]

MCI определяет четыре классификации команд: системные, обязательные, базовые и расширенные. В следующем списке описаны эти классификации команд:

  • Системные команды обрабатываются напрямую MCI, а не драйвером.
  • Необходимые команды обрабатываются драйвером. Все драйверы MCI должны поддерживать необходимые команды и флаги.
  • Базовые команды (или необязательные команды) используются на некоторых устройствах. Если устройство поддерживает базовую команду, оно должно поддерживать определенный набор флагов для этой команды.
  • Расширенные команды относятся к типу устройства или драйверу. Расширенные команды включают команды, такие как put (MCI_PUT) и where (MCI_WHERE) для типов устройств digitalvideo и overlay , а также расширения существующих команд (например, флаг "растянуть" команды состояния (MCI_STATUS) для типа устройства наложения).

Хотя системные и обязательные команды являются минимальным набором команд для любого драйвера MCI, базовые и расширенные команды поддерживаются не всеми драйверами. Приложение всегда может использовать системные и обязательные команды и их флаги, но если ему нужно использовать базовую или расширенную команду или флаг, оно должно сначала запросить драйвер с помощью команды возможности (MCI_GETDEVCAPS). В следующих разделах перечислены конкретные команды в каждой категории.

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

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

Строка Сообщение Описание
Перерыв MCI_BREAK Задает ключ останова для устройства MCI.
sysinfo MCI_SYSINFO Возвращает сведения об устройствах MCI.

 

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

Все устройства MCI поддерживают следующие обязательные команды.

Строка Сообщение Описание
Возможность MCI_GETDEVCAPS Получает возможности устройства.
Закрыть MCI_CLOSE Закрывает устройство.
Информация MCI_INFO Получает текстовую информацию с устройства.
Открыть MCI_OPEN Инициализирует устройство.
status MCI_STATUS Получает сведения о состоянии с устройства. Некоторые флаги этой команды не являются обязательными, поэтому это также базовая команда.

 

Устройства также должны поддерживать стандартный набор флагов команд для необходимых команд.

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

В следующем списке перечислены основные команды. Использование этих команд устройством MCI является необязательным.

Строка Сообщение Описание
Нагрузки MCI_LOAD Загружает данные из файла.
Пауза MCI_PAUSE Перестает играть. Воспроизведение или запись можно возобновить в текущей позиции.
играть MCI_PLAY Начинает передачу выходных данных.
Записи MCI_RECORD Начинает запись входных данных.
Возобновить MCI_RESUME Возобновляет воспроизведение или запись на приостановленном устройстве.
Сохранить MCI_SAVE Сохраняет данные в файл диска.
Искать MCI_SEEK Выполняет поиск вперед или назад.
Установить MCI_SET Задает рабочее состояние устройства.
status СОСТОЯНИЕ MCI Получает сведения о состоянии устройства. Это также обязательная команда; так как некоторые из его флагов не являются обязательными, они также перечислены здесь. (Необязательные элементы поддерживают устройства, использующие линейные носители с идентифицируемыми позициями.)
Остановить MCI_STOP Перестает играть.

 

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

Расширенные команды

Некоторые устройства MCI имеют дополнительные команды или добавляют флаги к существующим командам. Хотя некоторые расширенные команды применяются только к определенному драйверу устройства, большинство из них применяются ко всем драйверам определенного типа устройства. Например, набор команд для типа устройства sequencer расширяет команду set (MCI_SET) для добавления форматов времени, необходимых для секвенсоров MIDI.

Не следует предполагать, что устройство поддерживает расширенные команды или флаги. Вы можете использовать команду возможности (MCI_GETDEVCAPS), чтобы определить, поддерживается ли определенная функция, и приложение должно быть готово к работе с возвращаемыми значениями "неподдерживаемая команда" или "неподдерживаемая функция".

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

Строка Сообщение Типы устройств Описание
Настроить MCI_CONFIGURE digitalvideo Отображает диалоговое окно конфигурации.
Cue MCI_CUE digitalvideo, waveaudio Готовится к воспроизведению или записи.
Удалить MCI_DELETE waveaudio Удаляет сегмент данных из файла мультимедиа.
escape MCI_ESCAPE videodisc Отправляет пользовательские сведения на устройство.
Заморозить MCI_FREEZE overlay Отключает получение видео в буфер кадров.
Положить MCI PUT digitalvideo, наложение Определяет окно источника, назначения и фрейма.
Понимаю MCI_REALIZE digitalvideo Указывает устройству выбрать и реализовать свою палитру в контексте устройства отображаемого окна.
setaudio MCI_ SETAUDIO digitalvideo Задает параметры звука для видео.
setvideo MCI_ SETVIDEO digitalvideo Задает параметры видео.
Сигнал MCI_SIGNAL digitalvideo Определяет указанную позицию с помощью сигнала.
Спина MCI_SPIN videodisc Запускает вращение диска или останавливает его вращение.
Шаг MCI_STEP digitalvideo, videodisc Шаг воспроизведения одного или нескольких кадров вперед или обратно.
Разморозить MCI_UNFREEZE overlay Позволяет буферу кадров получать видеоданные.
Обновление MCI_UPDATE digitalvideo Перерисовывает текущий кадр в контекст устройства.
Где MCI WHERE digitalvideo, наложение Получает прямоугольник, указывающий область источника, назначения или кадра.
Окно MCI_WINDOW digitalvideo, наложение Управляет окном отображения.