Compartir a través de


Función midiOutSetVolume (mmeapi.h)

La función midiOutSetVolume establece el volumen de un dispositivo de salida MIDI.

Sintaxis

MMRESULT midiOutSetVolume(
  HMIDIOUT hmo,
  DWORD    dwVolume
);

Parámetros

hmo

Identificador para un dispositivo de salida MIDI abierto. Este parámetro también puede contener el identificador de una secuencia MIDI, siempre y cuando se convierta a HMIDIOUT. Este parámetro también puede ser un identificador de dispositivo.

dwVolume

Nueva configuración de volumen. La palabra de orden bajo contiene la configuración del volumen del canal izquierdo y la palabra de orden superior contiene la configuración del canal derecho. Un valor de 0xFFFF representa el volumen completo y un valor de 0x0000 es silencio.

Si un dispositivo no admite el control de volumen izquierdo y derecho, la palabra de orden bajo de dwVolume especifica el nivel de volumen mono y se omite la palabra de orden superior.

Valor devuelto

Devuelve MMSYSERR_NOERROR si se realiza correctamente o si se produce un error en caso contrario. Entre los valores de error posibles se incluyen los siguientes.

Código devuelto Descripción
MMSYSERR_INVALHANDLE
El identificador de dispositivo especificado no es válido.
MMSYSERR_NOMEM
El sistema no puede asignar o bloquear la memoria.
MMSYSERR_NOTSUPPORTED
No se admite la función .

Comentarios

Si se usa un identificador de dispositivo, el resultado de la llamada midiOutSetVolume se aplica a todas las instancias del dispositivo. Si se usa un identificador de dispositivo, el resultado solo se aplica a la instancia del dispositivo al que hace referencia el identificador del dispositivo.

No todos los dispositivos admiten cambios de volumen. Puede determinar si un dispositivo lo admite consultando el dispositivo mediante la función midiOutGetDevCaps y la marca MIDICAPS_VOLUME.

También puede determinar si el dispositivo admite el control de volumen en los canales izquierdo y derecho consultando el dispositivo mediante la función midiOutGetDevCaps y la marca MIDICAPS_LRVOLUME.

Los dispositivos que no admiten un control de nivel de volumen completo de 16 bits usan los bits de orden superior de la configuración de volumen solicitada. Por ejemplo, un dispositivo que admite 4 bits de control de volumen genera la misma configuración de volumen para los siguientes valores de nivel de volumen: 0x4000, 0x43be y 0x4fff. La función midiOutGetVolume devuelve el valor completo de 16 bits, establecido por midiOutSetVolume, independientemente de las funcionalidades del dispositivo.

La configuración del volumen se interpreta logarítmicamente. Esto significa que el aumento percibido en el volumen es el mismo al aumentar el nivel de volumen de 0x5000 a 0x6000, ya que va de 0x4000 a 0x5000.

Requisitos

Requisito Value
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 (incluya Windows.h)
Library Winmm.lib
Archivo DLL Winmm.dll

Consulte también

Funciones MIDI