Función mixerOpen (mmeapi.h)
La función mixerOpen abre un dispositivo mezclador especificado y garantiza que el dispositivo no se quitará hasta que la aplicación cierre el identificador.
Sintaxis
MMRESULT mixerOpen(
LPHMIXER phmx,
UINT uMxId,
DWORD_PTR dwCallback,
DWORD_PTR dwInstance,
DWORD fdwOpen
);
Parámetros
phmx
Puntero a una variable que recibirá un identificador que identifica el dispositivo mezclador abierto. Use este identificador para identificar el dispositivo al llamar a otras funciones de mezclador de audio. Este parámetro no puede ser NULL.
uMxId
Identificador del dispositivo mezclador que se va a abrir. Use un identificador de dispositivo válido o cualquier HMIXEROBJ (consulte la función mixerGetID para obtener una descripción de los identificadores de objeto mezclador). Actualmente no existe un "asignador" para dispositivos mezcladores de audio, por lo que un identificador de dispositivo mezclador de -1 no es válido.
dwCallback
Identificador de una ventana a la que se llama cuando se cambia el estado de una línea de audio o control asociado al dispositivo que se está abriendo. Especifique NULL para este parámetro si no se va a usar ningún mecanismo de devolución de llamada.
dwInstance
Reservado. Debe ser cero.
fdwOpen
Marcas para abrir el dispositivo. Se definen los valores siguientes.
Valor | Significado |
---|---|
CALLBACK_WINDOW | Se supone que el parámetro dwCallback es un identificador de ventana (HWND). |
MIXER_OBJECTF_AUX | El parámetro uMxId es un identificador de dispositivo auxiliar en el intervalo de cero a uno menor que el número de dispositivos devueltos por la función auxGetNumDevs . |
MIXER_OBJECTF_HMIDIIN | El parámetro uMxId es el identificador de un dispositivo de entrada MIDI. La función midiInOpen debe haber devuelto este identificador. |
MIXER_OBJECTF_HMIDIOUT | El parámetro uMxId es el identificador de un dispositivo de salida MIDI. La función midiOutOpen debe haber devuelto este identificador. |
MIXER_OBJECTF_HMIXER | El parámetro uMxId es un identificador de dispositivo mezclador devuelto por la función mixerOpen . Esta marca es opcional. |
MIXER_OBJECTF_HWAVEIN | El parámetro uMxId es un identificador de entrada de audio de forma de onda devuelto por la función waveInOpen . |
MIXER_OBJECTF_HWAVEOUT | El parámetro uMxId es un identificador de salida de audio de forma de onda devuelto por la función waveOutOpen . |
MIXER_OBJECTF_MIDIIN | El parámetro uMxId es el identificador de un dispositivo de entrada MIDI. Este identificador debe estar en el intervalo de cero a uno menor que el número de dispositivos devueltos por la función midiInGetNumDevs . |
MIXER_OBJECTF_MIDIOUT | El parámetro uMxId es el identificador de un dispositivo de salida MIDI. Este identificador debe estar en el intervalo de cero a uno menor que el número de dispositivos devueltos por la función midiOutGetNumDevs . |
MIXER_OBJECTF_MIXER | El parámetro uMxId es un identificador de dispositivo mezclador del intervalo de cero a uno menor que el número de dispositivos devueltos por la función mixerGetNumDevs . Esta marca es opcional. |
MIXER_OBJECTF_WAVEIN | El parámetro uMxId es el identificador de un dispositivo de entrada de audio con forma de onda en el intervalo de cero a uno menor que el número de dispositivos devueltos por la función waveInGetNumDevs . |
MIXER_OBJECTF_WAVEOUT | El parámetro uMxId es el identificador de un dispositivo de salida de audio con forma de onda en el intervalo de cero a uno menor que el número de dispositivos devueltos por la función waveOutGetNumDevs . |
Valor devuelto
Devuelve MMSYSERR_NOERROR si se ejecuta correctamente o si se produce un error. Entre los posibles valores de error se incluyen los siguientes.
Código devuelto | Descripción |
---|---|
|
El recurso especificado ya está asignado por el número máximo de clientes posibles. |
|
El parámetro uMxId especifica un identificador de dispositivo no válido. |
|
Una o varias marcas no son válidas. |
|
El parámetro uMxId especifica un identificador no válido. |
|
Uno o varios parámetros no son válidos. |
|
No hay ningún dispositivo mezclador disponible para el objeto especificado por uMxId. Tenga en cuenta que la ubicación a la que hace referencia uMxId también contendrá el valor –1. |
|
No se pueden asignar recursos. |
Comentarios
Use la función mixerGetNumDevs para determinar el número de dispositivos mezcladores de audio presentes en el sistema. El identificador de dispositivo especificado por uMxId varía de cero a uno menor que el número de dispositivos presentes.
Si se elige una ventana para recibir información de devolución de llamada, los mensajes MM_MIXM_LINE_CHANGE y MM_MIXM_CONTROL_CHANGE se envían a la función de procedimiento de ventana para indicar cuándo cambia una línea de audio o un estado de control. Para ambos mensajes, el parámetro wParam es el identificador del dispositivo mezclador. El parámetro lParam es el identificador de línea de MM_MIXM_LINE_CHANGE o el identificador de control de MM_MIXM_CONTROL_CHANGE que cambió el estado.
Para consultar la compatibilidad con el mezclador de audio o un dispositivo multimedia, use la función mixerGetID .
En los sistemas de 64 bits, es posible que esta función no funcione según lo previsto en situaciones en las que se pasa un puntero LPHWAVEOUT de 64 bits en el parámetro uMxId , porque el parámetro uMxId se trunca a 32 bits.
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | mmeapi.h (incluye Windows.h) |
Library | Winmm.lib |
Archivo DLL | Winmm.dll |