Share via


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

La méthode SetAllVolumes définit les niveaux de volume individuels pour tous les canaux de la session audio.

Syntaxe

HRESULT SetAllVolumes(
  [in] UINT32      dwCount,
  [in] const float *pfVolumes,
  [in] LPCGUID     EventContext
);

Paramètres

[in] dwCount

Nombre d’éléments dans le tableau pfVolumes . Ce paramètre doit être égal au nombre de canaux au format de flux pour la session audio. Pour obtenir le nombre de canaux, appelez la méthode IChannelAudioVolume ::GetChannelCount .

[in] pfVolumes

Pointeur vers un tableau de niveaux de volume pour les canaux de la session audio. Le nombre d’éléments dans le tableau pfVolumes est spécifié par le paramètre dwCount . L’appelant écrit le niveau de volume de chaque canal dans l’élément tableau dont l’index correspond au 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. 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 dwCount n’est pas égal au nombre de canaux au format de flux pour la session audio, ou la valeur d’un élément de tableau pfVolumes n’est pas comprise entre 0,0 et 1,0.
E_POINTER
Le paramètre pfVolumes a la valeur NULL.
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 l’un des nouveaux niveaux de volume de canal diffère ou non en valeur des niveaux de volume de canal précédents.

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