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