record command

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 rectangleaudio stream streamfrom positionhold insert overwrite to positionvideo stream stream
sequencer from positioninsert overwrite to position
vcr at timefrom positioninitialize insert overwrite to position
waveaudio from positioninsert 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 Value

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.

Examples

The following command starts recording at the current position.

record mysound

Requirements

Requirement Value
Minimum supported client
Windows 2000 Professional [desktop apps only]
Minimum supported server
Windows 2000 Server [desktop apps only]

See also

MCI

MCI Command Strings

cue

monitor

pause

put

set

setaudio

settimecode

setvideo

stop