Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Func.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.58 Mб
Скачать

Mci_seek

MCIERROR mciSendCommand(MCIDEVICEID wDeviceID, MCI_SEEK, DWORD dwFlags, (DWORD) (LPMCI_SEEK_PARMS) lpSeek);

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

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

Аргументы

  1. wDeviceID — идентификатор устройства MCI, которому посылается данное командное сообщение.

  2. dwFlags — Флаги сообщения MCI_NOTIFY, MCI_WAIT или для видеомагнитофона и устройства вывода видео информации MCI_TEST. Кроме того, для сообщения MCI_SEEK определены следующие значения:

  3. Данные флаги могут устанавливаться для всех устройств, обрабатывающих сообщение MCI_SEEK:

  • MCI_SEEK_TO_END — поиск конца воспроизводимого фрагмента информации.

  • MCI_SEEK_TO_START — поиск начала воспроизводимого фрагмента информации.

  • MCI_TO — в переменной dwTo объекта структуры MCI_SEEK_PARMS, на который указывает аргумент lpSeek, содержится новое значение текущей позиции воспроизведения. Размерность величины, содержащейся в данной переменной, определяется флагом MCI_SET_TIME_FORMAT сообщения MCI_SET. Этот флаг несовместим с флагами MCI_SEEK_TO_END или MCI_SEEK_TO_START.

  1. Данные флаги могут использоваться устройствами типа vcr:

  • MCI_VCR_SEEK_AT — в переменной dwAt объекта структуры MCI_VCR_SEEK_PARMS, на который указывает аргумент lpSeek, содержится время начала всей команды.

  • MCI_VCR_SEEK_MARK — в переменной dwMark объекта структуры MCI_VCR_SEEK_PARMS, на который указывает аргумент lpSeek, содержится числовая метка, которую следует найти.

  • MCI_VCR_SEEK_REVERSE — поиск производится в обратном порядке. Этот флаг используется только совместно с флагом MCI_VCR_SEEK_MARK.

  1. Данные флаги могут использоваться устройствами типа videodisc:

  • MCI_VD_SEEK_REVERSE — поиск производится в обратном порядке.

  1. lpSeek — указатель на объект структуры MCI_SEEK_PARMS. (Устройства, имеющие расширенный набор команд, используют вместо этой структуры собственные структуры.)

Примечание

Команда MCI_SEEK изменяет текущую позицию воспроизведения с максимально возможной скоростью. В процессе выполнения этой команды прекращается вывод аудио и видео информации. После завершения поиска устройство останавливается. Эту команду можно посылать лазерному проигрывателю, устройству воспроизведения и записи видео информации, устройству воспроизведения аудио информации в формате MIDI, видеомагнитофону, видеодиску и, устройству воспроизведения аудио информации в формате ИКМ.

Если размер блока данных устройства превышает 1 байт, эта команда устанавливает курсор воспроизведения на ближайшую границу блока.

При работе с видеомагнитофоном в переменной lpSeek передаётся указатель на объект структуры MCI_VCR_SEEK_PARMS.

Описание данного сообщения содержится в файле заголовка mmsystem.h.

MCI_SET

MCIERROR mciSendCommand(MCIDEVICEID wDeviceID, MCI_SET, DWORD dwFlags, (DWORD) (LPMCI_SET_PARMS) lpSet);

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

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

Аргументы

  1. wDeviceID — идентификатор устройства MCI, которому посылается данное командное сообщение.

  2. dwFlags — Флаги сообщения MCI_NOTIFY, MCI_WAIT или для видеомагнитофона и устройства вывода видео информации MCI_TEST. Кроме того, для сообщения MCI_SET определены следующие значения:

  3. Данные флаги могут устанавливаться для всех устройств, обрабатывающих сообщение MCI_SET:

  • MCI_SET_AUDIO — в переменной dwAudio объекта структуры MCI_SET_PARMS, на который указывает аргумент 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 объекта структуры MCI_SET_PARMS, на который указывает аргумент lpSet, содержится описание формата. Совместно с данным флагом используются следующие флаги:

MCI_FORMAT_BYTES — при использовании формата ИКМ (импульсно-кодовой модуляции) задает описание формата времени в количестве вводимых и выводимых байт. Распознаётся устройствами типа waveaudio.

MCI_FORMAT_FRAMES — следующие команды будут использовать кадры. Распознаётся устройствами типа digitalvideo, vcr и videodisc.

MCI_FORMAT_HMS — задаёт формат измерения времени в часах, минутах и секундах. Распознаётся устройствами типа vcr и videodisc.

MCI_FORMAT_MILLISECONDS — задаёт формат измерения времени в миллисекундах. Распознаётся всеми типами устройств.

MCI_FORMAT_MSF — задаёт формат измерения времени в часах, минутах и кадрах. Распознаётся устройствами типа cdaudio и vcr.

MCI_FORMAT_SAMPLES — задаёт формат измерения времени во введённых или выведенных отсчётах.

MCI_FORMAT_SMPTE_24, MCI_FORMAT_SMPTE_25 и MCI_FORMAT_SMPTE_30 — устанавливают форматы 24, 25 и 30 кадров SMPTE соответственно. Распознаётся устройствами типа sequencer и vcr.

MCI_FORMAT_SMPTE_30DROP — устанавливает формат 30 с минусом кадров SMPTE. Распознаётся устройствами типа sequencer и vcr.

MCI_FORMAT_TMSF — задаёт формат измерения времени в дорожках, минутах, секундах и кадрах. (MCI использует последовательную нумерацию дорожек.) Распознаётся устройствами типа cdaudio и vcr. Усторйства, не работающие с видеосигналам, возвращают значение

  • MCI_SET_VIDEO — подключает и отключает видеосигнал. Этот флаг должен использоваться совместно с флагами MCI_SET_ON или MCI_SET_OFF. Если устройство не работает с видеосигналом, функция возвращает значение MCIERR_UNSUPPORTED_FUNCTION.

  1. Данные флаги могут использоваться устройствами типа digitalvideo:

  • MCI_DGV_SET_FILEFORMAT — в переменной dwFileFormat объекта структуры MCI_DGV_SET_PARMS, на который указывает аргумент 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 — формат RLE DIB.

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 объекта структуры MCI_DGV_SET_PARMS, на который указывает аргумент lpSet, содержится скорость воспроизведения. Скорость определяется как отношение нормальной скорости воспроизведения к требуемой скорости воспроизведения, умноженного на 1000. Половинной скорости воспроизведения соответствует значение 500, а удвоенной скорости воспроизведения — 2000. Допустимый диапазон изменения скорости воспроизведения зависит от устройства и, возможно, также и от файла.

  • MCI_DGV_SET_STILL — при одновременной установке флага MCI_DGV_SET_FILEFORMAT, команда MCI_SET устанавливает формат файла, используемого в командах видеозахвата.

  1. Данные флаги могут использоваться устройствами типа sequencer:

  • MCI_SEQ_FORMAT_SONGPTR — устанавливает формат измерения времени в длительностях звуков.

  • MCI_SEQ_SET_MASTER — передаёт устройству функцию синхронизации данных и указывает на то, что тип синхронизации определяется значением переменной dwMaster объекта структуры MCI_SEQ_SET_PARMS, на который указывает аргумент lpSet. При установке данного флага драйвер MCISEQ возвращает значение MCIERR_UNSUPPORTED_FUNCTION. Определены следующие константы типов синхронизации:

MCI_SEQ_MIDI — информация о синхронизации передаётся в формате MIDI.

MCI_SEQ_SMPTE — информация о синхронизации передаётся в формате SMPTE.

MCI_SEQ_NONE — информация о синхронизации не передаётся.

  • MCI_SEQ_SET_OFFSET — изменяет SMPTE смещение последовательности, определяемой идентификатором MIDI-устройства в соответствии со значением переменной dwOffset объекта структуры MCI_SEQ_SET_PARMS, на который указывает аргумент lpSet. Данный флаг используется только для последовательностей с временным делением SMPTE.

  • MCI_SEQ_SET_PORT — в переменной dwPort объекта структуры MCI_SEQ_SET_PARMS, на который указывает аргумент lpSet, содержится номер MIDI-порта последовательности. При получении сообщения с данным флагом устройство закрывает предыдущий порт (если он был открыт) и пытается открыть и использовать новый порт. Если это не удаётся, возвращается значение ошибки и снова открывается старый порт (если он был открыт). Для идентификации портов используются следующие константы:

MCI_SEQ_NONE — закрывает использовавшийся до этого порт (если он был открыт). Устройство ведёт себя точно так же, как если бы порт был открыт, но не посылает сообщения MIDI.

MIDI_MAPPER — предоставляет выбор открываемого порта системе.

  • MCI_SEQ_SET_SLAVE — устанавливает устройство в режим приёма синхронизирующей информации. Тип синхронизации задаётся в переменной dwSlave объекта структуры MCI_SEQ_SET_PARMS, на который указывает аргумент lpSet. При получении сообщения с данным флагом драйвер MCISEQ возвращает значение MCIERR_UNSUPPORTED_FUNCTION. Определены следующие константы типов синхронизации:

MCI_SEQ_FILE — информация о синхронизации хранится в MIDI-файле.

MCI_SEQ_MIDI — устройство получает синхронизирующую информацию в формате MIDI.

MCI_SEQ_NONE — устройство игнорирует синхронизирующую информацию, содержащуюся в потоке MIDI.

MCI_SEQ_SMPTE — устройство получает синхронизирующую информацию в формате SMPTE.

  • MCI_SEQ_SET_TEMPO — изменяет темп MIDI-последовательности в соответствии со значением, содержащимся в переменной dwTempo объекта структуры MCI_SEQ_SET_PARMS, на который указывает аргумент lpSet. Если в последовательности применяется временное деление PPQN, темп определяется в тактах в минуту. Если в последовательности применяется временное деление SMPTE, темп определяется в кадрах в минуту.

  1. Данные флаги могут использоваться устройствами типа vcr:

  • MCI_VCR_SET_ASSEMBLE_RECORD — устанавливает групповой или индивидуальный режимы записи. (Когда отключён групповой режим устройство находится в индивидуальном режиме и наоборот). Используется совместно со следующими флагами:

MCI_SET_ON — устанавливает групповой режим записи и отключает индивидуальный режим записи. Одновременно записывает все видео, аудио и временные дорожки.

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

  • MCI_VCR_SET_CLOCK — в переменной dwClock объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится новое значение времени.

  • MCI_VCR_SET_COUNTER_FORMAT — в переменной dwCounterFormat объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится константа, идентифицирующая новый формат таймера, используемый счётчиком состояний. Список констант содержится в описании флага MCI_SET_TIME_FORMAT.

  • MCI_VCR_SET_COUNTER_VALUE — в переменной dwCounterValue объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится новое значение счётчика.

  • MCI_VCR_SET_INDEX — в переменной dwIndex объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент 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 объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится максимальная длительность команды паузы в миллисекундах.

  • MCI_VCR_SET_POSTROLL_DURATION — в переменной dwPostrollDuration объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится длина отрезка видеоленты, измеряемая в текущем формате времени, которая будет прокручена после поступления команды остановки или паузы.

  • MCI_VCR_SET_POWER — включает или выключает питание. Должен использоваться совместно с одним из следующих флагов:

MCI_SET_OFF — выключает питание.

MCI_SET_ON — включает питание.

  • MCI_VCR_SET_PREROLL_DURATION — в переменной dwPrerollDuration объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится длина отрезка видеоленты, измеряемая в текущем формате времени, необходимая для стабилизации процесса воспроизведения с видеомагнитофона.

  • MCI_VCR_SET_RECORD_FORMAT — в переменной dwRecordFormat объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится константа, определяющая скорость записи. Определены следующие значения:

MCI_VCR_FORMAT_EP — запись на малой скорости.

MCI_VCR_FORMAT_LP — запись на пониженной скорости.

MCI_VCR_FORMAT_SP — запись на стандартной скорости.

  • MCI_VCR_SET_SPEED — в переменной dwSpeed объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится новое значение скорости, где величина 1000 соответствует нормальной скорости, 2000 — удвоенной скорости, а 500 — половинной скорости.

  • MCI_VCR_SET_TAPE_LENGTH — в переменной dwTapeLength объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится новое значение длины ленты, если эта величина не может быть определена автоматически.

  • MCI_VCR_SET_TIME_MODE — в переменной dwTapeLength объекта структуры MCI_VCR_SET_PARMS, на который указывает аргумент lpSet, содержится константа, определяющая новый режим временного позиционирования. Определены следующие константы:

MCI_VCR_TIME_COUNTER — устройство использует только счётчик.

MCI_VCR_TIME_DETECT — каждый раз, когда в устройство вставляется новая видеокассета, или устройство переходит из пассивного состояния в активное, устройство должно попытаться найти на ленте временные коды. Если коды времени найдены, они используются во всех последующих командах позиционирования. В противном случае используется счётчик.

MCI_VCR_TIME_TIMECODE — устройство использует только коды времени.

  • MCI_VCR_SET_TRACKING — точно настраивает скорость лентопротяжки в видеомагнитофоне. Должен использоваться совместно с одним из следующих флагов:

MCI_VCR_PLUS — увеличивает скорость лентопротяжки.

MCI_VCR_MINUS — уменьшает скорость лентопротяжки.

MCI_VCR_RESET — обнуляет настройку скорости лентопротяжки.

  1. Данные флаги могут использоваться устройствами типа videodisc:

  • MCI_VD_FORMAT_TRACK — изменяет временной формат дорожки. MCI использует последовательные номера дорожек.

  1. Данные флаги могут использоваться устройствами типа waveaudio:

  • MCI_WAVE_INPUT — значение переменной wInput объекта структуры MCI_WAVE_SET_PARMS, на который указывает аргумент lpSet, определяет источник записываемой информации.

  • MCI_WAVE_OUTPUT — значение переменной wOutput объекта структуры MCI_WAVE_SET_PARMS, на который указывает аргумент lpSet, определяет устройство воспроизведения аудио информации.

  • MCI_WAVE_SET_ANYINPUT — для записи может использоваться любой источник аудио информации, совместимый с текущим форматом.

  • MCI_WAVE_SET_ANYOUTPUT — для воспроизведения аудио информации может использоваться любое устройство, совместимое с текущим форматом.

  • MCI_WAVE_SET_AVGBYTESPERSEC — в переменной nAvgBytesPerSec объекта структуры MCI_WAVE_SET_PARMS, на который указывает аргумент lpSet, содержится новое значение числа воспроизводимых, записываемых или сохраняемых байт в секунду.

  • MCI_WAVE_SET_BITSPERSAMPLE — в переменной nBitsPerSample объекта структуры MCI_WAVE_SET_PARMS, на который указывает аргумент lpSet, содержится новая разрядность воспроизводимых, записываемых или сохраняемых данных.

  • MCI_WAVE_SET_BLOCKALIGN — в переменной nBlockAlign объекта структуры MCI_WAVE_SET_PARMS, на который указывает аргумент lpSet, содержится новое значения выравнивания блока для воспроизводимых, записываемых или сохраняемых данных.

  • MCI_WAVE_SET_CHANNELS — в переменной nChannels объекта структуры MCI_WAVE_SET_PARMS, на который указывает аргумент lpSet, содержится новое число каналов.

  • MCI_WAVE_SET_FORMATTAG — в переменной wFormatTag объекта структуры MCI_WAVE_SET_PARMS, на который указывает аргумент lpSet, содержится новый идентификатор формата воспроизводимой, записываемой или сохраняемой информации. Идентификатор WAVE_FORMAT_PCM соответствует формату ИКМ.

  • MCI_WAVE_SET_SAMPLESPERSEC — в переменной nSamplesPerSec объекта структуры MCI_WAVE_SET_PARMS, на который указывает аргумент lpSet, содержится новая частота дискретизации воспроизводимой, записываемой или сохраняемой информации.

  1. lpSet — указатель на объект структуры MCI_SET_PARMS. (Устройства, имеющие расширенный набор команд, используют вместо этой структуры собственные структуры.)

Примечание

Команда MCI_SET изменяет параметры устройств и производит их установку в различные режимы. Эту команду можно посылать лазерному проигрывателю, устройству воспроизведения и записи видео информации, устройству воспроизведения аудио информации в формате MIDI, видеомагнитофону, видеодиску, устройству наложения видеоинформации и устройству вывода аудио информации в формате ИКМ.

При работе с устройством вывода видео информации в переменной lpSet передаётся указатель на объект структуры MCI_DGV_SET_PARMS, при работе с устройством воспроизведения аудио информации в формате MIDI — указатель на объект структуры MCI_SEQ_SET_PARMS, при работе с видеомагнитофоном — указатель на объект структуры MCI_VCR_SET_PARMS, а при работе с устройством вывода аудио информации в формате ИКМ — MCI_WAVE_SET_PARMS.

Некоторые свойства аудио устройств определяются при создании файла в который будет записываться аудио информация. Эти свойства описывают структуру данных в файле и не могут изменяться в процессе записи. Этим свойствам соответствуют следующие флаги.

  • MCI_WAVE_SET_AVGBYTESPERSEC

  • MCI_WAVE_SET_BITSPERSAMPLE

  • MCI_WAVE_SET_BLOCKALIGN

  • MCI_WAVE_SET_CHANNELS

  • MCI_WAVE_SET_FORMATTAG

  • MCI_WAVE_SET_SAMPLESPERSEC

Описание данного сообщения содержится в файле заголовка mmsystem.h.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]