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 |
---|---|
|
Le handle d’appareil spécifié n’est pas valide. |
|
Le système ne peut pas allouer ou verrouiller la mémoire. |
|
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 |