record

The record command starts recording data. VCR and waveform-audio devices recognize this command. Although digital-video devices and MIDI sequencers also recognize this command, the MCIAVI and MCISEQ drivers do not implement it.

To send this command, call the mciSendString function with the lpszCommand parameter set as follows.

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

Parameters

lpszDeviceID

Identifier of an MCI device. This identifier or alias is assigned when the device is opened.

lpszRecordFlags

Flag for recording data. The following table lists device types that recognize the record command and the flags used by each type.

Value Meaning Meaning
digitalvideo at rectangle
audio stream stream
from position
hold
insert
overwrite
to position
video stream stream
sequencer from position
insert
overwrite
to position
vcr at time
from position
initialize
insert
overwrite
to position
waveaudio from position
insert
overwrite
to position

The following table lists the flags that can be specified in the lpszRecordFlags parameter and their meanings.

Value Meaning
at rectangle Specifies a rectangular region of the external input used as the source for the pixels compressed and saved. If not specified, the rectangle defaults to the rectangle specified for put "video". When it is set differently from the "video" rectangle, the displayed image is not what is recorded.
at time Indicates when the device should begin performing this command, or, if the device has been cued, when the cued command begins. For more information, see the cue command.
audio stream stream Specifies the audio stream used for recording. If this flag is not specified and the file format does not define a default, it is recorded into the stream that is physically first.
from position Specifies a starting position for the recording. If the "from" flag is not specified, the device starts recording at the current position.
hold Freezes the image when recording has finished instead of showing live video. When recording stops, an automatic monitor "file" command is performed. To return to live video, issue the monitor "input" command.
initialize Initialize the tape (media), which involves recording timecode (if possible) for blank video and audio. This command might take several hours if the entire tape must be initialized.
insert Specifies that new data is added to the file at the current position.
overwrite Specifies that new data will replace data in the file.
to position Specifies an ending position for the recording. If the "to" flag is not specified, the device records until it receives a stop or pause command.
video stream stream Specifies the video stream used for recording. If this is not specified and the file format does not define a default, then it is recorded into the stream that is physically first.

lpszFlags

Can be "wait", "notify", or both. For digital-video and VCR devices, "test" can also be specified. For more information about these flags, see The Wait, Notify, and Test Flags.

Return Values

Returns zero if successful or an error otherwise.

Remarks

The recording stops when a stop or pause command is issued. For the MCIWAVE driver, all data recorded after a file is opened is discarded if the file is closed without saving it.

Before issuing any commands that use position values, you should set the desired time format by using the set command. The tracks to be recorded are specified by the settimecode "record", set "assemble record", setvideo "record", and setaudio "record" commands.

The following command starts recording at the current position:

record mysound

Requirements

**  Windows NT/2000/XP:** Included in Windows NT 3.1 and later.
**  Windows 95/98/Me:** Included in Windows 95 and later.

See Also

MCI, MCI Command Strings, cue, monitor, pause, put, set, setaudio, settimecode, setvideo, stop