Méthode IAudioEndpointVolume ::SetChannelVolumeLevel (endpointvolume.h)
La méthode SetChannelVolumeLevel définit le niveau de volume, en décibels, du canal spécifié du flux audio qui entre ou quitte le périphérique de point de terminaison audio.
Syntaxe
HRESULT SetChannelVolumeLevel(
[in] UINT nChannel,
[in] float fLevelDB,
[in] LPCGUID pguidEventContext
);
Paramètres
[in] nChannel
Numéro de canal. Si le flux audio contient n canaux, les canaux sont numérotés de 0 à n– 1. Pour obtenir le nombre de canaux, appelez la méthode IAudioEndpointVolume ::GetChannelCount .
[in] fLevelDB
Nouveau niveau de volume en décibels. Pour obtenir la plage et la granularité des niveaux de volume qui peuvent être définis par cette méthode, appelez la méthode IAudioEndpointVolume ::GetVolumeRange .
[in] pguidEventContext
Valeur de contexte pour la méthode IAudioEndpointVolumeCallback ::OnNotify . Ce paramètre pointe vers un GUID de contexte d’événement. Si l’appel SetChannelVolumeLevel modifie le niveau de volume du point de terminaison, tous les clients qui ont inscrit des interfaces IAudioEndpointVolumeCallback avec ce point de terminaison recevront des notifications. Dans son implémentation de la méthode OnNotify , un client peut inspecter le GUID de contexte d’événement pour découvrir s’il ou un autre client est la source de l’événement de modification de volume. Si l’appelant fournit un pointeur NULL pour ce paramètre, la routine de notification reçoit la valeur GUID de contexte GUID_NULL.
Valeur retournée
Si la méthode réussit, retourne S_OK. Si la méthode échoue, les codes de retour possibles incluent, sans s’y limiter, les valeurs indiquées dans le tableau suivant.
Code de retour | Description |
---|---|
|
Le paramètre nChannel est supérieur ou égal au nombre de canaux dans le flux ; ou le paramètre fLevelDB se trouve en dehors de la plage de volumes prise en charge par l’appareil. |
|
Mémoire insuffisante. |
Remarques
Si le niveau de volume fLevelDB se trouve en dehors de la plage de volumes signalée par la méthode IAudioEndpointVolume ::GetVolumeRange , l’appel SetChannelVolumeLevel échoue et retourne le code d’erreur E_INVALIDARG.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau | applications UWP] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau | applications UWP] |
Plateforme cible | Windows |
En-tête | endpointvolume.h |
Voir aussi
IAudioEndpointVolume, interface
IAudioEndpointVolume ::GetChannelCount
IAudioEndpointVolume ::GetVolumeRange