команда MCI_SET
Примечание
Связь без предубеждений Майкрософт поддерживает разнообразную и инклюзивную среду. В этом документе есть ссылки на слово "slave". Руководство майкрософт по стилю для Bias-Free Communications распознает это как исключаемое слово. Эта формулировка используется в настоящее время в командах. Для обеспечения согласованности этот документ содержит это слово. При изменении этого слова в командах мы исправим этот документ так, чтобы он был в выравнивании.
Команда MCI_SET задает сведения об устройстве. Эта команда распознана на устройствах cd audio, digital-video, MIDI sequencer, VCR, videodisc, video-overlay и waveform-audio.
Чтобы отправить эту команду, вызовите функцию mciSendCommand со следующими параметрами.
MCIERROR mciSendCommand(
MCIDEVICEID wDeviceID,
MCI_SET,
DWORD dwFlags,
(DWORD) (LPMCI_SET_PARMS) lpSet
);
Параметры
-
wDeviceID
-
Идентификатор устройства MCI, которое получает сообщение команды.
-
Dwflags
-
MCI_NOTIFY, MCI_WAIT или для устройств с цифровым видео и виртуальным MCI_TEST. Сведения об этих флагах см. в разделе Флаги ожидания, уведомления и тестирования.
-
lpSet
-
Указатель на структуру MCI_SET_PARMS . (Устройства с расширенными наборами команд могут заменить эту структуру структурой для конкретного устройства.)
Возвращаемое значение
Возвращает ноль в случае успешного выполнения или ошибку в противном случае.
Комментарии
Следующие дополнительные флаги применяются ко всем устройствам, поддерживающим MCI_SET:
-
MCI_SET_AUDIO
-
Номер звукового канала включается в элемент dwAudio структуры, определяемой lpSet. Этот флаг должен использоваться с MCI_SET_ON или MCI_SET_OFF. Используйте одну из следующих констант, чтобы указать номер канала:
-
MCI_SET_AUDIO_ALL
-
Все аудиоканалы.
-
MCI_SET_AUDIO_LEFT
-
Левый канал.
-
MCI_SET_AUDIO_RIGHT
-
Правый канал.
-
MCI_SET_DOOR_CLOSED
-
Закрывает обложку носителя (если она есть).
-
MCI_SET_DOOR_OPEN
-
Открывает обложку мультимедиа (если она есть).
-
MCI_SET_OFF
-
Отключает указанный видео- или аудиоканалов.
-
MCI_SET_ON
-
Включает указанный видео- или звуковой канал.
-
MCI_SET_TIME_FORMAT
-
Параметр формата времени включается в элемент dwTimeFormat структуры, определяемой lpSet. С этим флагом используются следующие флаги:
-
MCI_FORMAT_BYTES
-
В формате данных PCM (Пульсовая модуляция кода) изменяет описание элемента времени на байты для входных или выходных данных. Распознается типом устройства waveaudio .
-
MCI_FORMAT_FRAMES
-
Последующие команды будут использовать кадры. Распознается типами устройств digitalvideo, vcr и videodisc .
-
MCI_FORMAT_HMS
-
Изменяет формат времени на часы, минуты и секунды. Распознается типами устройств vcr и videodisc .
-
MCI_FORMAT_MILLISECONDS
-
Изменяет формат времени на миллисекундах. Распознается всеми типами устройств.
-
MCI_FORMAT_MSF
-
Изменяет формат времени на минуты, секунды и кадры. Распознается типами устройств cdaudio и vcr .
-
MCI_FORMAT_SAMPLES
-
Изменяет формат времени на примеры для входных или выходных данных. Распознается типом устройства waveaudio .
-
MCI_FORMAT_SMPTE_24, MCI_FORMAT_SMPTE_25 и MCI_FORMAT_SMPTE_30
-
Устанавливает формат времени 24, 25 и 30 кадров SMPTE (Общество кинематографических и телевизионных инженеров) соответственно. Распознается типами устройств sequencer и vcr .
-
MCI_FORMAT_SMPTE_30DROP
-
Задает формат времени 30 drop-frame SMPTE. Распознается типами устройств sequencer и vcr .
-
MCI_FORMAT_TMSF
-
Изменяет формат времени на дорожки, минуты, секунды и кадры. (MCI использует непрерывные номера отслеживания.) Распознается типами устройств cdaudio и vcr .
-
MCI_SET_VIDEO
-
Задает включение или отключение видеосигнала. Этот флаг должен использоваться с MCI_SET_ON или MCI_SET_OFF. Устройства без видео возвращают MCIERR_UNSUPPORTED_FUNCTION.
Следующие дополнительные флаги используются с типом устройства digitalvideo :
-
MCI_DGV_SET_FILEFORMAT
-
Параметр формата файла включается в элемент dwFileFormat структуры, определяемой lpSet. Для цифровых видеоустройств формат файла используется для команд сохранения или записи. Если этот параметр опущен, по умолчанию может использоваться формат, определенный драйвером устройства. Если указанный формат файла конфликтует с выбранным в данный момент алгоритмом и качеством, они изменяются на значения по умолчанию для формата файла. Определены следующие константы формата файла:
-
MCI_DGV_FF_AVI
-
Формат AVI.
-
MCI_DGV_FF_AVSS
-
Формат AVSS.
-
MCI_DGV_FF_DIB
-
Формат DIB.
-
MCI_DGV_FF_JFIF
-
Формат JFIF.
-
MCI_DGV_FF_JPEG
-
Формат JPEG.
-
MCI_DGV_FF_MPEG
-
Формат MPEG.
-
MCI_DGV_FF_RDIB
-
Формат DIB RLE.
-
MCI_DGV_FF_RJPEG
-
Формат RJPEG.
-
MCI_DGV_SET_SEEK_EXACTLY
-
Задает формат, используемый для позиционирования. Этот флаг должен использоваться с MCI_SET_ON или MCI_SET_OFF. Если указан MCI_SET_ON, воспроизведение или запись точно обращается к кадру, указанному с флагом MCI_FROM. Это может добавить дополнительную задержку, если запрошенный кадр не является ключевым кадром. Если указано MCI_SET_OFF, устройство будет искать изображение ключевого кадра, которое предшествует запрошенному кадру. Для некоторых файлов и устройств это может быть первый кадр файла. Значение по умолчанию для этого флага зависит от устройства.
-
MCI_DGV_SET_SPEED
-
Параметр скорости включается в элемент dwSpeed структуры, определяемой lpSet. Скорость указывается как отношение между номинальной частотой кадров и требуемой частотой кадров, где номинальная частота кадров обозначается как 1000. Половина скорости — 500, а двойная скорость — 2000. Допустимый диапазон скорости зависит от устройства и, возможно, файла.
-
MCI_DGV_SET_STILL
-
При использовании с MCI_DGV_SET_FILEFORMAT MCI_SET задает формат файла, используемый для команд записи.
Для цифровых видеоустройств параметр lpSet указывает на структуру MCI_DGV_SET_PARMS .
Следующие дополнительные флаги используются с типом устройства sequencer :
-
MCI_SEQ_FORMAT_SONGPTR
-
Задает формат времени для единиц указателя песни.
-
MCI_SEQ_SET_MASTER
-
Задает секвенсор в качестве источника данных синхронизации и указывает, что тип синхронизации указан в элементе dwMaster структуры, определяемой lpSet. MCISEQ возвращает MCIERR_UNSUPPORTED_FUNCTION. Для типа синхронизации определяются следующие константы:
-
MCI_SEQ_MIDI
-
Секвенсор отправит данные синхронизации формата MIDI.
-
MCI_SEQ_SMPTE
-
Секвенсор отправит данные синхронизации формата SMPTE.
-
MCI_SEQ_NONE
-
Секвенсор не будет отправлять данные синхронизации.
-
MCI_SEQ_SET_OFFSET
-
Изменяет смещение SMPTE последовательности на указанное элементом dwOffset структуры, определяемой lpSet. Это влияет только на последовательности с типом деления SMPTE.
-
MCI_SEQ_SET_PORT
-
Задает выходной MIDI-порт последовательности, указанный идентификатором устройства MIDI в элементе dwPort структуры, определяемой lpSet. Устройство закрывает предыдущий порт (если таковой есть) и пытается открыть и использовать новый порт. В случае сбоя он возвращает ошибку и повторно открывает ранее использованный порт (если таковой есть). Для портов определяются следующие константы:
-
MCI_SEQ_NONE
-
Закрывает ранее использованный порт (при наличии). Sequencer ведет себя точно так же, как если бы порт был открыт, за исключением того, что сообщение MIDI не отправляется.
-
MIDI_MAPPER
-
Задает открытый порт для модуля сопоставления MIDI.
-
MCI_SEQ_SET_SLAVE
-
Задает секвенсор для получения данных синхронизации и указывает, что тип синхронизации указан в элементе dwSlave структуры, определяемой lpSet. MCISEQ возвращает MCIERR_UNSUPPORTED_FUNCTION. Для типа синхронизации определяются следующие константы:
-
MCI_SEQ_FILE
-
Задает sequencer для получения данных синхронизации, содержащихся в MIDI-файле.
-
MCI_SEQ_MIDI
-
Задает секвенсор для получения данных синхронизации MIDI.
-
MCI_SEQ_NONE
-
Задает секвенсор, чтобы игнорировать данные синхронизации в потоке MIDI.
-
MCI_SEQ_SMPTE
-
Задает секвенсор для получения данных синхронизации SMPTE.
-
MCI_SEQ_SET_TEMPO
-
Изменяет темп последовательности MIDI на заданный элементом dwTempo структуры, на которую указывает lpSet. Для последовательностей с типом деления PPQN темп задается в битах в минуту; Для последовательностей с типом деления SMPTE tempo указывается в кадрах в секунду.
Для устройств sequencer параметр lpSet указывает на структуру MCI_SEQ_SET_PARMS .
Следующие дополнительные флаги используются с типом устройства vcr :
-
MCI_VCR_SET_ASSEMBLE_RECORD
-
Задает устройство для записи в режиме сборки или вставки (если сборка выключена, вставка включена и наоборот). Используйте с одним из следующих флагов:
-
MCI_SET_ON
-
Устанавливает сборку записи в и отключает вставку записи. Записывает все дорожки видео, аудио и кода времени.
-
MCI_SET_OFF
-
Устанавливает сборку записи и включает вставку записи. Если запись сборки отключена, для записи можно выбрать отдельные дорожки видео, аудио и код времени.
-
MCI_VCR_SET_CLOCK
-
Элемент dwClock структуры, определяемой lpSet , содержит новое время.
-
MCI_VCR_SET_COUNTER_FORMA
-
Элемент dwCounterFormat структуры, определяемой lpSet , содержит константу, задающую новый формат счетчика времени, используемый счетчиком состояния. Список допустимых констант см. в разделе MCI_SET_TIME_FORMAT в списке дополнительных флагов для этой команды.
-
MCI_VCR_SET_COUNTER_VALUE
-
Элемент dwCounterValue структуры, определяемой lpSet , содержит новое значение счетчика.
-
MCI_VCR_SET_INDEX
-
Элемент dwIndex структуры, определяемой lpSet , содержит константу, указывающую содержимое экранного экрана, и должен быть одним из следующих элементов:
-
MCI_VCR_INDEX_COUNTER
-
Отображает счетчик.
-
MCI_VCR_INDEX_DATE
-
Отображает дату.
-
MCI_VCR_INDEX_TIME
-
Отображает время.
-
MCI_VCR_INDEX_TIMECODE
-
Отображает код времени.
Дополнительные сведения см. в разделе команда MCI_INDEX .
-
MCI_VCR_SET_PAUSE_TIMEOUT
-
Элемент dwPauseTimeout структуры, определяемой lpSet , содержит максимальную длительность команды приостановки в миллисекундах.
-
MCI_VCR_SET_POSTROLL_DURATION
-
Элемент dwPostrollDuration структуры, определяемой lpSet , содержит длину видеокассеты в формате текущего времени, необходимую для остановки транспорта VCR при выполнении команды остановки или приостановки.
-
MCI_VCR_SET_POWER
-
Устанавливает включение или выключение питания. Должен использоваться с одним из следующих флагов:
-
MCI_SET_OFF
-
Выключение питания.
-
MCI_SET_ON
-
Включает питание.
-
MCI_VCR_SET_PREROLL_DURATION
-
Элемент dwPrerollDuration структуры, определяемой lpSet , содержит длину видеокассеты в формате текущего времени, необходимую для стабилизации выходных данных VCR.
-
MCI_VCR_SET_RECORD_FORMAT
-
Элемент dwRecordFormat структуры, определяемой lpSet , содержит константу, описывающую скорость записи, которая должна быть одной из следующих:
-
MCI_VCR_FORMAT_EP
-
Записи на медленной скорости.
-
MCI_VCR_FORMAT_LP
-
Записи со средней и медленной скоростью.
-
MCI_VCR_FORMAT_SP
-
Записи со стандартной скоростью.
-
MCI_VCR_SET_SPEED
-
Элемент dwSpeed структуры, определяемой lpSet , содержит новый параметр скорости, где 1000 — это нормальная скорость, 2000 — двойная скорость, а 500 — половина скорости и т. д.
-
MCI_VCR_SET_TAPE_LENGTH
-
Элемент dwTapeLength структуры, определяемой lpSet , содержит новую длину ленты при условии, что длина ленты не обнаружена.
-
MCI_VCR_SET_TIME_MODE
-
Элемент dwTimeMode структуры, определяемой lpSet , содержит константу, указывающую на новый режим позиционного времени. Допустимы следующие константы:
-
MCI_VCR_TIME_COUNTER
-
Заставляет устройство использовать исключительно счетчик.
-
MCI_VCR_TIME_DETECT
-
Каждый раз, когда в устройство вставляется новая видеокаспа или режим меняется с не готовой на готовую, устройство должно пытаться определить, есть ли в ней доступный код времени. Если код времени доступен, используйте его во всех последующих командах, определяющих позиции. В противном случае используйте счетчик.
-
MCI_VCR_TIME_TIMECODE
-
Заставляет устройство использовать исключительно код времени.
-
MCI_VCR_SET_TRACKING
-
Настраивает скорость транспорта ленты VCR с точной корректировкой и должен использоваться с одним из следующих флагов:
-
MCI_VCR_PLUS
-
Увеличивает скорость транспортировки ленты.
-
MCI_VCR_MINUS
-
Снижает скорость транспортировки ленты.
-
MCI_VCR_RESET
-
Возвращает корректировку отслеживания к нулю.
Для устройств VCR параметр lpSet указывает на структуру MCI_VCR_SET_PARMS .
Следующий дополнительный флаг используется с типом устройства videodisc :
-
MCI_VD_FORMAT_TRACK
-
Изменяет формат времени на дорожки. MCI использует непрерывные номера отслеживания.
Следующие дополнительные флаги используются с типом устройства waveaudio :
-
MCI_WAVE_INPUT
-
Задает входные данные, используемые для записи, для элемента wInput структуры, определяемой lpSet.
-
MCI_WAVE_OUTPUT
-
Задает выходные данные, используемые для воспроизведения, для элемента wOutput структуры, определяемой lpSet.
-
MCI_WAVE_SET_ANYINPUT
-
Для записи можно использовать любой волновой ввод, совместимый с текущим форматом.
-
MCI_WAVE_SET_ANYOUTPUT
-
Для воспроизведения можно использовать любой волновой выход, совместимый с текущим форматом.
-
MCI_WAVE_SET_AVGBYTESPERSEC
-
Задает байты в секунду, используемые для воспроизведения, записи и сохранения, в член nAvgBytesPerSec структуры, определяемой lpSet.
-
MCI_WAVE_SET_BITSPERSAMPLE
-
Задает биты на выборку, используемые для воспроизведения, записи и сохранения, в член nBitsPerSample формата данных PCM, определяемого lpSet.
-
MCI_WAVE_SET_BLOCKALIGN
-
Задает выравнивание блоков, используемое для воспроизведения, записи и сохранения в элементе nBlockAlign структуры, определяемой lpSet.
-
MCI_WAVE_SET_CHANNELS
-
Число каналов указывается в элементе nChannels структуры, определяемой lpSet.
-
MCI_WAVE_SET_FORMATTAG
-
Задает тип формата, используемый для воспроизведения, записи и сохранения в элементе wFormatTag структуры, определяемой lpSet. При указании WAVE_FORMAT_PCM формат изменяется на PCM.
-
MCI_WAVE_SET_SAMPLESPERSEC
-
Задает количество примеров в секунду, используемых для воспроизведения, записи и сохранения в элементе nSamplesPerSec структуры, определяемой lpSet.
Для устройств waveform-audio параметр lpSet указывает на структуру MCI_WAVE_SET_PARMS .
При создании файла для хранения данных определяется несколько свойств данных waveform-audio. Эти свойства описывают структуру данных в файле и их невозможно изменить после начала записи. Следующие флаги идентифицируют эти свойства:
- MCI_WAVE_SET_AVGBYTESPERSEC
- MCI_WAVE_SET_BITSPERSAMPLE
- MCI_WAVE_SET_BLOCKALIGN
- MCI_WAVE_SET_CHANNELS
- MCI_WAVE_SET_FORMATTAG
- MCI_WAVE_SET_SAMPLESPERSEC
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера |
Windows 2000 Server [только классические приложения] |
Заголовок |
|