команда 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 [только классические приложения] |
Заголовок |
|