structure AUDIO_VOLUME_NOTIFICATION_DATA (endpointvolume.h)

La structure AUDIO_VOLUME_NOTIFICATION_DATA décrit une modification du niveau de volume ou de l’état de désactivation d’un appareil de point de terminaison audio.

Syntaxe

typedef struct AUDIO_VOLUME_NOTIFICATION_DATA {
  GUID  guidEventContext;
  BOOL  bMuted;
  float fMasterVolume;
  UINT  nChannels;
  float afChannelVolumes[1];
} AUDIO_VOLUME_NOTIFICATION_DATA, *PAUDIO_VOLUME_NOTIFICATION_DATA;

Membres

guidEventContext

Valeur de contexte pour la méthode IAudioEndpointVolumeCallback ::OnNotify . Ce membre est la valeur du GUID de contexte d’événement fourni en tant que paramètre d’entrée à l’appel de méthode IAudioEndpointVolume qui a modifié le niveau de volume du point de terminaison ou l’état de désactivation. Pour plus d'informations, consultez la section Notes.

bMuted

Spécifie si le flux audio est actuellement désactivé. Si bMuted a la valeur TRUE, le flux est désactivé. Si la valeur est FALSE, le flux n’est pas désactivé.

fMasterVolume

Spécifie le niveau de volume actuel master du flux audio. Le niveau de volume est normalisé à la plage comprise entre 0,0 et 1,0, où 0,0 est le niveau de volume minimal et 1,0 est le niveau maximal. Dans cette plage, la relation entre le niveau de volume normalisé et l’atténuation de l’amplitude du signal est décrite par une courbe non linéaire et audio-cononique. Pour plus d’informations sur les débits audio, consultez Contrôles de volume à débit réduit audio.

nChannels

Spécifie le nombre de canaux dans le flux audio, qui est également le nombre d’éléments dans le tableau afChannelVolumes . Si le flux audio contient n canaux, les canaux sont numérotés de 0 à n-1. Le niveau de volume d’un canal particulier est contenu dans l’élément tableau dont l’index correspond au numéro de canal.

afChannelVolumes[1]

Premier élément d’un tableau de volumes de canal. Cet élément contient le niveau de volume actuel du canal 0 dans le flux audio. Si le flux audio contient plusieurs canaux, les niveaux de volume des canaux supplémentaires suivent immédiatement la structure AUDIO_VOLUME_NOTIFICATION_DATA . Le niveau de volume de chaque canal est normalisé à la plage comprise entre 0,0 et 1,0, où 0,0 est le niveau de volume minimal et 1,0 est le niveau maximal. Dans cette plage, la relation entre le niveau de volume normalisé et l’atténuation de l’amplitude du signal est décrite par une courbe non linéaire et audio-cononique.

Remarques

Cette structure est utilisée par la méthode IAudioEndpointVolumeCallback ::OnNotify .

Un client peut s’inscrire pour être averti lorsque le niveau de volume ou l’état de désactivation d’un appareil de point de terminaison change. Les méthodes suivantes peuvent provoquer une telle modification :

Lorsqu’un appel à l’une de ces méthodes provoque un événement de changement de volume (autrement dit, une modification du niveau de volume ou de l’état de désactivation), la méthode envoie des notifications à tous les clients qui se sont inscrits pour les recevoir. La méthode avertit un client en appelant la méthode IAudioEndpointVolumeCallback ::OnNotify du client. Par le biais de l’appel OnNotify , le client reçoit un pointeur vers une structure AUDIO_VOLUME_NOTIFICATION_DATA qui décrit la modification.

Chacune des méthodes de la liste précédente accepte un paramètre d’entrée nommé pguidEventContext, qui est un pointeur vers un GUID de contexte d’événement. Avant d’envoyer des notifications aux clients, la méthode copie le GUID de contexte d’événement pointé par pguidEventContext dans le membre guidEventContext de la structure AUDIO_VOLUME_NOTIFICATION_DATA qu’elle fournit aux clients via leurs méthodes OnNotify . Si pguidEventContext a la valeur NULL, la valeur du membre guidEventContext est définie sur GUID_NULL.

Dans son implémentation de la méthode OnNotify , un client peut inspecter le GUID de contexte d’événement à partir de cet appel pour déterminer s’il ou un autre client est la source de l’événement de changement de volume.

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]
En-tête endpointvolume.h

Voir aussi

Structures audio principales

IAudioEndpointVolume, interface

IAudioEndpointVolume ::SetChannelVolumeLevel

IAudioEndpointVolume ::SetChannelVolumeLevelScalar

IAudioEndpointVolume ::SetMasterVolumeLevel

IAudioEndpointVolume ::SetMasterVolumeLevelScalar

IAudioEndpointVolume ::SetMute

IAudioEndpointVolume ::VolumeStepDown

IAudioEndpointVolume ::VolumeStepUp

IAudioEndpointVolumeCallback, interface

IAudioEndpointVolumeCallback ::OnNotify