MCI_SETAUDIO
The MCI_SETAUDIO command sets values associated with audio playback and capture. Digital-video and VCR devices recognize this command.
MCIERROR mciSendCommand(MCIDEVICEID wDeviceID, MCI_SETAUDIO,
DWORD dwFlags, (DWORD) (LPMCI_GENERIC_PARMS) lpSetAudio);
Parameters
-
wDeviceID
-
Device identifier of the MCI device that is to receive the command message.
-
dwFlags
-
MCI_NOTIFY, MCI_WAIT, or MCI_TEST. For information about these flags, see The Wait, Notify, and Test Flags.
-
lpSetAudio
-
Address of an MCI_GENERIC_PARMS structure. (Devices with extended command sets might replace this structure with a device-specific structure.)
Return Values
Returns zero if successful or an error otherwise.
Remarks
The following flags apply to the digitalvideo device type:
-
MCI_DGV_SETAUDIO_ALG
-
The lpstrAlgorithm member of the structure identified by lpSetAudio contains an address of a buffer containing the name of an audio compression algorithm. The compression algorithm is used by subsequent MCI_RESERVE or MCI_RECORD commands. The available algorithms are device dependent. If the algorithm is incompatible with the current file format, the file format is changed to the default format for the algorithm.
-
MCI_DGV_SETAUDIO_CLOCKTIME
-
The time specified is in milliseconds and is absolute time when used with MCI_DGV_SETAUDIO_OVER. (This time is not in step with the playing of the workspace.)
-
MCI_DGV_SETAUDIO_INPUT
-
Modifies the bass, treble, or volume flag so that it affects the input signal and modifies what is recorded. If possible, this is the default when monitoring the input.
-
MCI_DGV_SETAUDIO_ITEM
-
An audio constant is specified in the dwItem member of the structure identified by lpSetAudio. The constant identifies the value that is being set. The following constants are defined:
-
MCI_DGV_SETAUDIO_AVGBYTESPERSEC
-
The average number of bytes is specified in the dwValue member of the structure identified by lpSetAudio. This value sets the average number of bytes per second for playing or recording in the PCM (Pulse Code Modulation) and ADPCM (Adaptive Differential Pulse Code Modulation) formats. The file is saved in this format.
-
MCI_DGV_SETAUDIO_BASS
-
The audio low frequency level is specified as a factor in the dwValue member of the structure identified by lpSetAudio.
-
MCI_DGV_SETAUDIO_BITSPERSAMPLE
-
The number of bits per sample is specified in the dwValue member of the structure identified by lpSetAudio. This value sets the number of bits per sample played or recorded in the PCM format. The file is saved in this format.
-
MCI_DGV_SETAUDIO_BLOCKALIGN
-
The data block alignment is specified in the dwValue member of the structure identified by lpSetAudio. This value sets the alignment of data blocks relative to the start of input waveform data.
-
MCI_DGV_SETAUDIO_SAMPLESPERSEC
-
The sample rate is specified in the dwValue member of the structure identified by lpSetAudio. This value sets the sample rate for playing and recording with the PCM and ADPCM algorithms. The file is saved in this format.
-
MCI_DGV_SETAUDIO_SOURCE
-
A constant specifying the source of audio input is included in the dwValue member of the structure identified by lpSetAudio. The following constants are defined for the audio input sources:
MCI_DGV_SETAUDIO_SOURCE_AVERAGE
The average of the left and right audio channels.
MCI_DGV_SETAUDIO_SOURCE_LEFT
Left audio channel.
MCI_DGV_SETAUDIO_SOURCE_RIGHT
Right audio channel.
MCI_DGV_SETAUDIO_SOURCE_STEREO
Stereo.
-
MCI_DGV_SETAUDIO_STREAM
-
An audio-stream is specified in the dwValue member of the structure identified by lpSetAudio. The integer value specifies the audio stream played back from the workspace. If the stream is not specified, the first physically interleaved audio stream is played.
-
MCI_DGV_SETAUDIO_TREBLE
-
The audio high-frequency level is specified as a factor in the dwValue member of the structure identified by lpSetAudio.
-
MCI_DGV_SETAUDIO_VOLUME
-
The audio level for one or both audio channels is specified as a factor in the dwValue member of the structure identified by lpSetAudio. If the left and right volumes have been set to different values, then the ratio of left to right volume is approximately unchanged.
-
MCI_DGV_SETAUDIO_LEFT
-
Enables the left audio channel when used with MCI_SET_ON. Disables the left audio channel when used with MCI_SET_OFF. When this flag is used with the combination of MCI_DGV_SETAUDIO_VALUE and MCI_DGV_SETAUDIO_VOLUME, it sets the volume of the left audio channel. When this flag is used with MCI_DGV_SETAUDIO_SOURCE, it specifies the left audio channel as the source for the audio input digitizer.
-
MCI_DGV_SETAUDIO_OVER
-
A transition length parameter is included in the dwOver member of the structure identified by lpSetAudio. The length value specifies how long (in units of the current time format) it should take to make a change that uses a factor. If this flag is not used, changes occur immediately.
-
MCI_DGV_SETAUDIO_QUALITY
-
The lpstrQuality member of the structure identified by lpSetAudio contains an address of a buffer defining the audio quality. A text-string within the buffer specifies the characteristics of the audio compression algorithm.
The MCI_DGV_SETAUDIO_ALG flag can be used to select a quality descriptor for the specified algorithm. If this flag is omitted, then the current algorithm is used.
The algorithms and descriptor names available depend on the device. Each device supplies documentation for the available algorithms and a description of the applicable descriptor names. The MCI_QUALITY command can define additional descriptor names.
-
MCI_DGV_SETAUDIO_RECORD
-
Specifies whether recording includes or excludes audio data. When combined with MCI_SET_ON, audio data is recorded. When combined with MCI_SET_OFF, audio data is excluded. The default includes audio data.
-
MCI_DGV_SETAUDIO_RIGHT
-
Enables the right audio channel when used with MCI_SET_ON. Disables the right audio channel when used with MCI_SET_OFF. When this flag is used with the combination of MCI_DGV_SETAUDIO_VALUE and MCI_DGV_SETAUDIO_VOLUME, it sets the volume of the right audio channel.
-
MCI_DGV_SETAUDIO_VALUE
-
A value is specified in the dwValue member of the structure identified by lpSetAudio. The meaning of the value is specified by the constant defined for the MCI_DGV_SETAUDIO_ITEM flag.
-
MCI_SET_OFF
-
Disables the specified audio channel.
-
MCI_SET_ON
-
Enables the specified audio channel.
-
MCI_SETAUDIO_OUTPUT
-
Modifies the bass, treble, or volume flag so that it modifies only the played signal and not what is recorded. If possible, this is the default when monitoring the input.
For digital-video devices, the lpSetAudio parameter points to an MCI_DGV_SETAUDIO_PARMS structure.
The following additional flags are used with the vcr device type:
-
MCI_VCR_SETAUDIO_RECORD
-
Sets the audio recording to on or off, which is used in conjunction with one of following flags:
-
MCI_SET_ON
-
Audio recording on.
-
MCI_SET_OFF
-
Audio recording off. It might be necessary to first turn off the assemble recording (using the MCI_SET command with the MCI_VCR_SET_ASSEMBLE_RECORD flag set to off) before the audio recording can be turned off.
-
MCI_TRACK
-
The dwTrack member of the structure identified by lpSetAudio specifies which track is affected by the command.
-
MCI_VCR_SETAUDIO_SOURCE
-
Sets the audio source. This flag must be used with the MCI_VCR_SETAUDIO_TO flag.
-
MCI_VCR_SETAUDIO_MONITOR
-
Sets the audio source monitor. This flag must be used with the MCI_VCR_SETAUDIO_TO flag.
-
MCI_VCR_SETAUDIO_TO
-
The dwTo member of the structure identified by lpSetAudio contains a constant describing the type of input or monitored input. It must be one of the following:
-
MCI_VCR_SRC_TYPE_TUNER
-
Type is tuner.
-
MCI_VCR_SRC_TYPE_LINE
-
Type is line.
-
MCI_VCR_SRC_TYPE_AUX
-
Type is auxiliary.
-
MCI_VCR_SRC_TYPE_GENERIC
-
Type is generic.
-
MCI_VCR_SRC_TYPE_MUTE
-
Type is mute. This can be used only with the MCI_VCR_SETAUDIO_SOURCE flag.
-
MCI_VCR_SRC_TYPE_OUTPUT
-
Type is output.
-
MCI_VCR_SETAUDIO_NUMBER
-
The dwNumber member of the structure identified by lpSetAudio contains the audio input (of the type specified in the dwTo member) to use.
For VCR devices, the lpSetAudio parameter points to an MCI_VCR_SETAUDIO_PARMS structure.
QuickInfo
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in mmsystem.h.
See Also
MCI Overview, MCI Commands, MCI_DGV_SETAUDIO_PARMS, MCI_GENERIC_PARMS, MCI_QUALITY, MCI_RECORD, MCI_RESERVE, MCI_SET, MCI_VCR_SETAUDIO_PARMS