команда MCI_SETVIDEO

Команда MCI_SETVIDEO задает значения, связанные с воспроизведением видео. Устройства с цифровым видео и VCR распознают эту команду.

Чтобы отправить эту команду, вызовите функцию mciSendCommand со следующими параметрами.

MCIERROR mciSendCommand(
  MCIDEVICEID wDeviceID, 
  MCI_SETVIDEO, 
  DWORD dwFlags, 
  (DWORD) (LPMCI_GENERIC_PARMS) lpSetVideo
);

Параметры

wDeviceID

Идентификатор устройства MCI, которое будет получать сообщение команды.

Dwflags

MCI_NOTIFY, MCI_WAIT или MCI_TEST. Сведения об этих флагах см. в разделе Флаги ожидания, уведомления и тестирования.

lpSetVideo

Указатель на структуру MCI_GENERIC_PARMS . (Устройства с расширенными наборами команд могут заменить эту структуру структурой для конкретного устройства.)

Возвращаемое значение

Возвращает ноль при успешном выполнении или ошибке в противном случае.

Комментарии

Следующие дополнительные флаги используются с типом устройства digitalvideo:

MCI_DGV_SETVIDEO_ALG

Элемент lpstrAlgorithm структуры, определяемой lpSetVideo , содержит адрес буфера, содержащий имя алгоритма сжатия видео. Алгоритм сжатия используется последующими командами MCI_RESERVE или MCI_RECORD . Доступные алгоритмы зависят от устройства.

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

MCI_DGV_SETVIDEO_CLOCKTIME

При использовании с MCI_DGV_SETVIDEO_OVER указывает, что время указано в миллисекундах и является абсолютным временем. (Это время не в ногу с воспроизведением рабочей области.)

MCI_DGV_SETVIDEO_INPUT

Изменяет MCI_DGV_SETVIDEO_BRIGHTNESS, MCI_DGV_SETVIDEO_COLOR, MCI_DGV_SETVIDEO_CONTRAST, MCI_DGV_SETVIDEO_GAMMA, MCI_DGV_SETVIDEO_SHARPNESS или MCI_DGV_SETVIDEO_TINT , чтобы они влияли на входной сигнал и изменяли записанные данные. Если это возможно, это значение по умолчанию при мониторинге входных данных.

MCI_DGV_SETVIDEO_ITEM

Константа видео указывается в элементе dwItem структуры, определяемой lpSetVideo. Константой определяется значение, которое устанавливается. С этим флагом можно указать следующие константы:

MCI_AVI_SETVIDEO_DRAW_PROCEDURE

Новый адрес процедуры рисования указывается в элементе dwValue структуры, определяемой lpSetVideo. Новую процедуру рисования можно указать только в том случае, если устройство неактивно. Этот флаг распознается только драйвером цифрового видео MCIAVI. В командном интерфейсе строки нет эквивалента этому флагу.

MCI_AVI_SETVIDEO_PALETTE_COLOR

Новый цвет палитры указывается в элементах dwOver и dwValue структуры, определяемой lpSetVideo. Элемент dwOver задает индекс палитры цвета, который необходимо изменить, а элемент dwValue задает новый цвет в качестве значения RGB. При использовании этой константы необходимо также указать флаги MCI_DGV_SETVIDEO_OVER и MCI_DGV_SETVIDEO_VALUE с помощью MCI_DGV_SETVIDEO_ITEM . Этот флаг распознается только драйвером цифрового видео MCIAVI.

MCI_AVI_SETVIDEO_PALETTE_HALFTONE

Указывает, что следует использовать полутоновую палитру вместо палитры по умолчанию. Этот флаг распознается только драйвером цифрового видео MCIAVI.

MCI_DGV_SETVIDEO_BITSPERPEL

Число битов на пиксель указывается в элементе dwValue структуры, определяемой lpSetVideo. Количество битов на пиксель используется для сохранения записанных или записанных данных.

MCI_DGV_SETVIDEO_BRIGHTNESS

Уровень яркости видео указывается как фактор в элементе dwValue структуры, определяемой lpSetVideo.

MCI_DGV_SETVIDEO_COLOR

Уровень насыщенности цвета видео указывается как фактор в элементе dwValue структуры, определяемой lpSetVideo.

MCI_DGV_SETVIDEO_CONTRAST

Уровень контрастности видео указывается в качестве фактора в элементе dwValue структуры, определяемой lpSetVideo.

MCI_DGV_SETVIDEO_FRAME_RATE

Частота кадров указывается в элементе dwValue структуры, определяемой lpSetVideo. Скорость указывается в единицах кадров в секунду 1000 раз. Например, 29,97 кадра в секунду указывается как 29970.

MCI_DGV_SETVIDEO_GAMMA

Значение экспоненты гамма-коррекции указывается в элементе dwValue структуры, определяемой lpSetVideo. Гамма-коррекция корректирует сопоставление между интенсивностью, закодированной в источнике презентации, и отображаемой яркостью. Значение представляет собой экспоненту, умноженную на 1000. Например, 2200 указывает на степень 2,2. Значение 1000 указывает на степень 1, которая не применяет гамма-коррекцию.

MCI_DGV_SETVIDEO_KEY_COLOR

Цвет ключа указывается в элементе dwValue структуры, определяемой lpSetVideo. Цвет ключа является rgb-значением.

MCI_DGV_SETVIDEO_KEY_INDEX

Значение индекса ключа указывается в элементе dwValue структуры, определяемой lpSetVideo. Параметр index является индексом физической палитры.

MCI_DGV_SETVIDEO_PALHANDLE

Дескриптор палитры указывается в элементе dwValue структуры, определяемой lpSetVideo. Дескриптор палитры содержится в слове нижнего порядка. Цифровые видеоустройства не должны освобождать палитру, переданную с помощью этой команды. Приложения должны освободить его после закрытия устройства. Этот флаг поддерживается только устройствами, которые используют палитры. Если указанный дескриптор палитры равен нулю, используется палитра по умолчанию.

MCI_DGV_SETVIDEO_SHARPNESS

Значение резкости видео указывается как фактор в элементе dwValue структуры, определяемой lpSetVideo.

MCI_DGV_SETVIDEO_SOURCE

Константа, указывающая источник входного видео, указывается в элементе dwValue структуры, определяемой lpSetVideo. Определены следующие константы:

  • MCI_DGV_SETVIDEO_SRC_NTSC: телевидение NTSC.
  • MCI_DGV_SETVIDEO_SRC_PAL: PAL телевидение.
  • MCI_DGV_SETVIDEO_SRC_RGB: RGB-видео.
  • MCI_DGV_SETVIDEO_SRC_SECAM: телевидение SECAM.
  • MCI_DGV_SETVIDEO_SRC_SVIDEO: S-Video.

MCI_DGV_SETVIDEO_STREAM

Видеопоток указывается в элементе dwValue структуры, определяемой lpSetVideo. Целочисленное значение указывает видеопоток, воспроизводимый из рабочей области. Если поток не указан и формат файла не определяет поток по умолчанию, воспроизводится первый физически чередующийся видеопоток.

MCI_DGV_SETVIDEO_TINT

Значение оттенок видео указывается в качестве фактора в элементе dwValue структуры, определяемой lpSetVideo. Как правило, эта корректировка моделировается после элемента управления оттенком многих цветных телевизоров: 250 — зеленый, 750 — красный и 0 (или 1000) — синий. Номинальное значение всегда равно 500.

MCI_DGV_SETVIDEO_OUTPUT

Флаг MCI_DGV_SETVIDEO_BRIGHTNESS, MCI_DGV_SETVIDEO_COLOR, MCI_DGV_SETVIDEO_CONTRAST, MCI_DGV_SETVIDEO_GAMMA, MCI_DGV_SETVIDEO_SHARPNESS или MCI_DGV_SETVIDEO_TINT изменяется таким образом, чтобы он влиял только на отображаемый сигнал, а не на то, что записывается. Если это возможно, это значение по умолчанию при мониторинге файла.

MCI_DGV_SETVIDEO_OVER

Параметр длины перехода включен в элемент dwOver структуры, определяемой lpSetVideo. Длина перехода указывает, сколько времени (в текущем формате времени) потребуется для внесения изменений. Если этот флаг не используется, изменение происходит немедленно.

MCI_DGV_SETVIDEO_QUALITY

Элемент lpstrQuality структуры, определяемой lpSetVideo , содержит адрес буфера, описывающий качество видео. Текстовая строка в буфере определяет характеристики алгоритма сжатия видео.

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

Доступные алгоритмы и имена дескрипторов зависят от устройства. Каждое устройство предоставляет документацию по доступным алгоритмам и описание применимых имен дескрипторов. Команда MCI_QUALITY может определить дополнительные имена дескрипторов. Все устройства поддерживают дескрипторы "low", "medium" и "high". Значение по умолчанию зависит от драйвера.

MCI_DGV_SETVIDEO_RECORD

Указывает, включает ли запись видеоданные или исключает их. В сочетании с MCI_SET_ON записываются видеоданные. В сочетании с MCI_SET_OFF видеоданные исключаются. Значение по умолчанию включает видеоданные.

MCI_DGV_SETVIDEO_SRC_NUMBER

Число для источника видео указывается в элементе dwSourceNumber структуры, определяемой lpSetVideo. При наличии нескольких входных данных типа, указанного MCI_DGV_SETVIDEO_VALUE, значение выбирает входные данные. Этот флаг всегда должен использоваться с MCI_DGV_SETVIDEO_SOURCE. Однако если MCI_DGV_SETVIDEO_VALUE опущен, указанный исходный номер указывает абсолютный источник для использования, как указано в команде MCI_LIST .

MCI_DGV_SETVIDEO_STILL

Указанное имя алгоритма или значение качества применяется к неподвижным изображениям.

Каждый драйвер устройства должен поддерживать алгоритм "нет", что означает отсутствие сжатия. Это значение по умолчанию. В этом случае цифровые видеоустройства сохраняют неподвижные изображения как независимые от устройства RGB растровые изображения (DIB).

MCI_DGV_SETVIDEO_VALUE

Значение включается в элемент dwValue структуры, определяемой lpSetVideo. Значение значения определяется флагом MCI_DGV_SETVIDEO_ITEM .

MCI_SET_OFF

Отключает вывод видео. Для цифровых видеоустройств отключение видео задает сплошной цвет пикселей в прямоугольнике назначения, определенном командой MCI_PUT (или клиентской области текущего окна по умолчанию), но это не влияет на буфер кадров. При необходимости можно скрыть окно с помощью команды MCI_WINDOW . Источник видео, будь то рабочая область или внешние входные данные, может продолжать хранить новые изображения в буфере кадров, но они не отображаются, пока видео не будет включено. Хотя приложения должны использовать команду MCI_SETVIDEO для управления этой функцией, цифровые видеоустройства должны по-прежнему поддерживать этот флаг. Значение по умолчанию после включения открытия.

MCI_SET_ON

Включает вывод видео.

Для цифровых видеоустройств параметр lpSetVideo указывает на структуру MCI_DGV_SETVIDEO_PARMS .

Следующие дополнительные флаги используются с типом устройства vcr:

MCI_VCR_SETVIDEO_RECORD

Устанавливает для записи видео значение включено или выключено. Используется в сочетании с одним из следующих флагов:

  • MCI_SET_ON. Запись видео включена.
  • MCI_SET_OFF. Запись видео отключена. Перед отключением записи видео может потребоваться сначала отключить запись сборки (с помощью команды MCI_SET с флагом MCI_VCR_SET_ASSEMBLE_RECORD , установленным в значение off.

MCI_TRACK

Элемент dwTrack структуры, определяемой lpSetVideo , указывает, на какой трек влияет команда.

MCI_VCR_SETVIDEO_SOURCE

Задает источник видео и должен использоваться с флагом MCI_VCR_SETVIDEO_TO .

MCI_VCR_SETVIDEO_MONITOR

Задает монитор источника видео и должен использоваться с флагом MCI_VCR_SETVIDEO_TO.

MCI_VCR_SETVIDEO_TO

Элемент dwTo структуры, определяемой lpSetVideo , содержит одну из следующих констант:

**MCI\_VCR\_SRC\_TYPE\_TUNER**
**MCI\_VCR\_SRC\_TYPE\_LINE**
**MCI\_VCR\_SRC\_TYPE\_AUX**
**MCI\_VCR\_SRC\_TYPE\_GENERIC**
**MCI\_VCR\_SRC\_TYPE\_MUTE**
**MCI\_VCR\_SRC\_TYPE\_OUTPUT**
**MCI\_VCR\_SRC\_TYPE\_RGB**
**MCI\_VCR\_SETVIDEO\_NUMBER**

Элемент dwNumber структуры, определяемой lpSetVideo , содержит входные видео (типа, указанного в элементе dwTo ) для использования.

Для устройств VCR параметр lpSetVideo указывает на структуру MCI_VCR_SETVIDEO_PARMS .

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Mmsystem.h (включая Windows.h)

См. также раздел

MCI

Команды MCI