mixerOpen
The 
mixerOpen function opens a specified mixer device and ensures that the device will not
be removed until the application closes the handle.
MMRESULT mixerOpen(
| LPHMIXER phmx, 
 | 
 | 
| UINT uMxId, 
 | 
 | 
| DWORD dwCallback, 
 | 
 | 
| DWORD dwInstance, 
 | 
 | 
| DWORD fdwOpen 
 | 
 | 
| ); 
 | 
 | 
 
Parameters
phmx
Address of a variable that will receive a handle identifying the opened mixer
device. Use this handle to identify the device when calling other audio mixer
functions. This parameter cannot be NULL.
uMxId
Identifier of the mixer device to open. Use a valid device identifier or any 
HMIXEROBJ (see the 
mixerGetID function for a description of mixer object handles). A "mapper" for audio
mixer devices does not currently exist, so a mixer device identifier of 

 1 is not valid.
dwCallback
Handle of a window called when the state of an audio line and/or control
associated with the device being opened is changed. Specify zero for this parameter
if no callback mechanism is to be used.
dwInstance
User instance data passed to the callback function. This parameter is not used
with window callback functions.
fdwOpen
Flags for opening the device. The following values are defined:
CALLBACK_WINDOW
The 
dwCallback parameter is assumed to be a window handle.
MIXER_OBJECTF_AUX
The 
uMxId parameter is an auxiliary device identifier in the range of zero to one less
than the number of devices returned by the 
auxGetNumDevs function.
MIXER_OBJECTF_HMIDIIN
The 
uMxId parameter is the handle of a MIDI input device. This handle must have been
returned by the 
midiInOpen function.
MIXER_OBJECTF_HMIDIOUT
The 
uMxId parameter is the handle of a MIDI output device. This handle must have been
returned by the 
midiOutOpen function.
MIXER_OBJECTF_HMIXER
The 
uMxId parameter is a mixer device handle returned by the 
mixerOpen function. This flag is optional.
MIXER_OBJECTF_HWAVEIN
The 
uMxId parameter is a waveform-audio input handle returned by the 
waveInOpen function.
MIXER_OBJECTF_HWAVEOUT
The 
uMxId parameter is a waveform-audio output handle returned by the 
waveOutOpen function.
MIXER_OBJECTF_MIDIIN
The 
uMxId parameter is the identifier of a MIDI input device. This identifier must be
in the range of zero to one less than the number of devices returned by the 
midiInGetNumDevs function.
MIXER_OBJECTF_MIDIOUT
The 
uMxId parameter is the identifier of a MIDI output device. This identifier must be
in the range of zero to one less than the number of devices returned by the 
midiOutGetNumDevs function.
MIXER_OBJECTF_MIXER
The 
uMxId parameter is a mixer device identifier in the range of zero to one less than
the number of devices returned by the 
mixerGetNumDevs function. This flag is optional.
MIXER_OBJECTF_WAVEIN
The 
uMxId parameter is the identifier of a waveform-audio input device in the range of
zero to one less than the number of devices returned by the 
waveInGetNumDevs function.
MIXER_OBJECTF_WAVEOUT
The 
uMxId parameter is the identifier of a waveform-audio output device in the range of
zero to one less than the number of devices returned by the 
waveOutGetNumDevs function.
 
Return Values
Returns MMSYSERR_NOERROR if successful or an error otherwise. Possible error
values include the following: 
| MMSYSERR_ALLOCATED 
 | The specified resource is already allocated by the maximum number of clients
possible. 
 | 
| MMSYSERR_BADDEVICEID 
 | The uMxId parameter specifies an invalid device identifier. 
 | 
| MMSYSERR_INVALFLAG 
 | One or more flags are invalid. 
 | 
| MMSYSERR_INVALHANDLE 
 | The uMxId parameter specifies an invalid handle. 
 | 
| MMSYSERR_INVALPARAM 
 | One or more parameters are invalid. 
 | 
| MMSYSERR_NODRIVER 
 | No mixer device is available for the object specified by uMxId. Note that the location referenced by uMxId will also contain the value  1. 
 | 
| MMSYSERR_NOMEM 
 | Unable to allocate resources. 
 | 
 
Remarks
Use the 
mixerGetNumDevs function to determine the number of audio mixer devices present in the
system. The device identifier specified by 
uMxId varies from zero to one less than the number of devices present.
If a window is chosen to receive callback information, the MM_MIXM_LINE_CHANGE
and MM_MIXM_CONTROL_CHANGE messages are sent to the window procedure function
to indicate when an audio line or control state changes. For both messages, the 
wParam parameter is the handle of the mixer device. The 
lParam parameter is the line identifier for MM_MIXM_LINE_CHANGE or the control
identifier for MM_MIXM_CONTROL_CHANGE that changed state.
To query for audio mixer support or a media device, use the 
mixerGetID function.
See Also
mixerGetID, 
auxGetNumDevs, 
midiInOpen, 
midiOutOpen, 
waveInOpen, 
waveOutOpen, 
midiInGetNumDevs, 
midiOutGetNumDevs, 
mixerGetNumDevs, 
waveInGetNumDevs, 
waveOutGetNumDevs, 
MM_MIXM_LINE_CHANGE, 
MM_MIXM_CONTROL_CHANGE
			
				- Software for developers
				
- 
				Delphi Components
 .Net Components
 Software for Android Developers
- More information resources
				
- 
				MegaDetailed.Net
 Unix Manual Pages
 Delphi Examples