Поделиться через


Команда record

Команда record запускает запись данных. Устройства VCR и waveform-audio распознают эту команду. Хотя цифровые видеоустройства и секвенсоры MIDI также распознают эту команду, драйверы MCIAVI и MCISEQ не реализуют ее.

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

_stprintf_s(
  lpszCommand, 
  TEXT("record %s %s %s"), 
  lpszDeviceID, 
  lpszRecordFlags, 
  lpszFlags
); 

Параметры

lpszDeviceID

Идентификатор устройства MCI. Этот идентификатор или псевдоним назначается при открытии устройства.

lpszRecordFlags

Флаг записи данных. В следующей таблице перечислены типы устройств, которые распознают команду записи и флаги, используемые каждым типом.

Значение Значение Значение
digitalvideo в потокеаудиопотока прямоугольникаиз позицииудержания Вставка перезаписи для размещениявидеопотока
sequencer вставка из позиции перезаписать на позицию
Видео в моментвремени с позиции инициализация insert overwrite to position
waveaudio вставка из позиции перезаписать на позицию

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

Значение Значение
в прямоугольнике Задает прямоугольную область внешних входных данных, используемых в качестве источника для сжатых и сохраненных пикселей. Если значение не указано, по умолчанию используется прямоугольник, указанный для параметра put "video". Если оно задается иначе, чем в прямоугольнике "видео", отображаемое изображение не записывается.
в то время Указывает, когда устройство должно начать выполнение этой команды или, если устройство было объявлено, когда начинается команда cued. Дополнительные сведения см. в разделе Команда подсказки .
поток аудиопотока Указывает аудиопоток, используемый для записи. Если этот флаг не указан, а формат файла не определяет значение по умолчанию, он записывается в поток, который физически является первым.
с позиции Задает начальную позицию записи. Если флаг "from" не указан, устройство начинает запись в текущей позиции.
Держать Замораживает изображение после завершения записи вместо отображения видеотрансляции. При остановке записи выполняется автоматическая команда "файл" монитора . Чтобы вернуться к видеотрансляции, выполните команду "ввод" монитора .
Инициализации Инициализируйте ленту (носитель), которая включает запись таймкода (если это возможно) для пустого видео и звука. Эта команда может занять несколько часов, если требуется инициализировать всю ленту.
insert Указывает, что новые данные добавляются в файл в текущей позиции.
перезапись Указывает, что новые данные заменят данные в файле.
на позицию Указывает конечную позицию записи. Если флаг "to" не указан, устройство записывает данные, пока не получит команду stop или pause .
поток видеопотока Указывает видеопоток, используемый для записи. Если этот параметр не указан и формат файла не определяет значение по умолчанию, он записывается в поток, который физически является первым.

lpszFlags

Может иметь значение "wait", "notify" или и то, и другое. Для цифровых видеоустройств и виртуальных машин также можно указать "test". Дополнительные сведения об этих флагах см. в разделе Флаги ожидания, уведомления и тестирования.

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

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

Комментарии

Запись останавливается при выполнении команды stop или pause . Для драйвера MCIWAVE все данные, записанные после открытия файла, удаляются, если файл закрыт без сохранения.

Перед выполнением команд, использующих значения позиций, необходимо задать нужный формат времени с помощью команды set . Записываемые дорожки задаются командами settimecode "record", set "сбор записи", setvideo "record" и setaudio "record".

Примеры

Следующая команда запускает запись в текущей позиции.

record mysound

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]

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

MCI

Командные строки MCI

Cue

monitor

pause

Положить

set

setaudio

settimecode

setvideo

stop