fonction midiOutSetVolume (mmeapi.h)

La fonction midiOutSetVolume définit le volume d’un appareil de sortie MIDI.

Syntaxe

MMRESULT midiOutSetVolume(
  HMIDIOUT hmo,
  DWORD    dwVolume
);

Paramètres

hmo

Gérez vers un appareil de sortie MIDI ouvert. Ce paramètre peut également contenir le handle d’un flux MIDI, tant qu’il est converti en HMIDIOUT. Ce paramètre peut également être un identificateur d’appareil.

dwVolume

Nouveau paramètre de volume. Le mot d’ordre inférieur contient le paramètre de volume du canal de gauche et le mot d’ordre élevé contient le paramètre de canal de droite. Une valeur de 0xFFFF représente le volume complet et une valeur de 0x0000 est silence.

Si un appareil ne prend pas en charge à la fois le contrôle de volume gauche et droit, le mot dwVolume dwVolume spécifie le niveau de volume mono, et le mot d’ordre élevé est ignoré.

Valeur retournée

Retourne MMSYSERR_NOERROR en cas de réussite ou une erreur dans le cas contraire. Les valeurs d’erreur possibles sont les suivantes.

Code de retour Description
MMSYSERR_INVALHANDLE
Le handle d’appareil spécifié n’est pas valide.
MMSYSERR_NOMEM
Le système ne peut pas allouer ou verrouiller la mémoire.
MMSYSERR_NOTSUPPORTED
La fonction n’est pas prise en charge.

Remarques

Si un identificateur d’appareil est utilisé, le résultat de l’appel midiOutSetVolume s’applique à toutes les instances de l’appareil. Si un handle d’appareil est utilisé, le résultat s’applique uniquement au instance de l’appareil référencé par le handle d’appareil.

Tous les appareils ne prennent pas en charge les modifications de volume. Vous pouvez déterminer si un appareil le prend en charge en interrogeant l’appareil à l’aide de la fonction midiOutGetDevCaps et de l’indicateur MIDICAPS_VOLUME.

Vous pouvez également déterminer si l’appareil prend en charge le contrôle du volume sur les canaux gauche et droit en interrogeant l’appareil à l’aide de la fonction midiOutGetDevCaps et de l’indicateur MIDICAPS_LRVOLUME.

Les appareils qui ne prennent pas en charge un contrôle complet de 16 bits au niveau du volume utilisent les bits d’ordre élevé du paramètre de volume demandé. Par exemple, un appareil qui prend en charge 4 bits de contrôle de volume produit le même paramètre de volume pour les valeurs au niveau du volume suivantes : 0x4000, 0x43be et 0x4fff. La fonction midiOutGetVolume retourne la valeur 16 bits complète, telle que définie par midiOutSetVolume, quelles que soient les capacités de l’appareil.

Les paramètres de volume sont interprétés logarithmiquement. Cela signifie que l’augmentation perçue du volume est la même lors de l’augmentation du niveau de volume de 0x5000 à 0x6000 qu’elle est de 0x4000 à 0x5000.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête mmeapi.h (inclure Windows.h)
Bibliothèque Winmm.lib
DLL Winmm.dll

Voir aussi

Fonctions MIDI