WaveOutSetVolume, fonction (mmeapi.h)

La fonction waveOutSetVolume définit le niveau de volume du périphérique de sortie audio de forme d’onde spécifié.

Syntaxe

MMRESULT waveOutSetVolume(
  HWAVEOUT hwo,
  DWORD    dwVolume
);

Paramètres

hwo

Handle vers un périphérique de sortie audio de forme d’onde ouverte. 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 de canal gauche, et le mot d’ordre supérieur contient le paramètre de canal droit. 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 de bas ordre spécifie le niveau de volume et le mot d’ordre supérieur 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_NODRIVER
Aucun pilote de périphérique n’est présent.
MMSYSERR_NOMEM
Impossible d’allouer ou de verrouiller la mémoire.
MMSYSERR_NOTSUPPORTED
La fonction n’est pas prise en charge.

Notes

Si un identificateur d’appareil est utilisé, le résultat de l’appel waveOutSetVolume 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. Pour déterminer si l’appareil prend en charge le contrôle de volume, utilisez l’indicateur WAVECAPS_VOLUME pour tester le membre dwSupport de la structure WAVEOUTCAPS (rempli par la fonction waveOutGetDevCaps ). Pour déterminer si l’appareil prend en charge le contrôle du volume sur les canaux gauche et droit, utilisez l’indicateur WAVECAPS_LRVOLUME.

La plupart des appareils ne prennent pas en charge les 16 bits complets du contrôle au niveau du volume et n’utilisent pas les bits les moins significatifs du paramètre de volume demandé. Par exemple, si un appareil prend en charge 4 bits de contrôle de volume, les valeurs 0x4000, 0x4FFF et 0x43BE sont toutes tronquées en 0x4000. La fonction waveOutGetVolume retourne le paramètre 16 bits complet défini avec waveOutSetVolume.

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

Spécifications

   
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

Waveform Audio

Fonctions de forme d’onde