Share via


Méthode IChannelAudioVolume ::SetChannelVolume (audioclient.h)

La méthode SetChannelVolume définit le niveau de volume du canal spécifié dans la session audio.

Syntaxe

HRESULT SetChannelVolume(
  [in] UINT32      dwIndex,
  [in] const float fLevel,
  [in] LPCGUID     EventContext
);

Paramètres

[in] dwIndex

Numéro de canal. Si le format de flux de la session audio comporte N canaux, les canaux sont numérotés de 0 à N à 1. Pour obtenir le nombre de canaux, appelez la méthode IChannelAudioVolume ::GetChannelCount .

[in] fLevel

Niveau de volume du canal. Les niveaux de volume valides sont comprises entre 0,0 et 1,0.

[in] EventContext

Pointeur vers le GUID de contexte d’événement. Si un appel à cette méthode génère un événement channel-volume-change, le gestionnaire de session envoie des notifications à tous les clients qui ont inscrit des interfaces IAudioSessionEvents avec le gestionnaire de sessions. Le gestionnaire de session inclut la valeur du pointeur EventContext à chaque notification. Lors de la réception d’une notification, un client peut déterminer s’il ou un autre client est la source de l’événement en inspectant la valeur EventContext . Ce schéma dépend de la sélection par le client d’une valeur pour ce paramètre qui est unique parmi tous les clients de la session. Si l’appelant fournit un pointeur NULL pour ce paramètre, la méthode de notification du client reçoit un pointeur de contexte NULL .

Valeur retournée

Si la méthode réussit, retourne S_OK. En cas d’échec, les codes de retour possibles incluent, sans s’y limiter, les valeurs indiquées dans le tableau suivant.

Code de retour Description
E_INVALIDARG
Le paramètre dwIndex est défini sur un numéro de canal non valide, ou le paramètre fLevel n’est pas compris entre 0,0 et 1.0.
AUDCLNT_E_DEVICE_INVALIDATED
Le périphérique de point de terminaison audio a été débranché, ou le matériel audio ou les ressources matérielles associées ont été reconfigurés, désactivés, supprimés ou autrement indisponibles.
AUDCLNT_E_SERVICE_NOT_RUNNING
Le service audio Windows n’est pas en cours d’exécution.

Remarques

Cette méthode, si elle réussit, génère un événement de changement de volume de canal, que le niveau de volume du nouveau canal diffère ou non en valeur du niveau de volume du canal précédent.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête audioclient.h

Voir aussi

IAudioSessionEvents Interface

IChannelAudioVolume, interface

IChannelAudioVolume ::GetChannelCount