Compartir a través de


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
MMSYSERR_ALLOCATED
El recurso especificado ya está asignado por el número máximo de clientes posibles.
MMSYSERR_BADDEVICEID
El parámetro uMxId especifica un identificador de dispositivo no válido.
MMSYSERR_INVALFLAG
Una o varias marcas no son válidas.
MMSYSERR_INVALHANDLE
El parámetro uMxId especifica un identificador no válido.
MMSYSERR_INVALPARAM
Uno o varios parámetros no son válidos.
MMSYSERR_NODRIVER
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.
MMSYSERR_NOMEM
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

Consulte también

Funciones de mezclador de audio

Mezcladores de audio