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 :
- IAudioEndpointVolume ::SetChannelVolumeLevel
- IAudioEndpointVolume ::SetChannelVolumeLevelScalar
- IAudioEndpointVolume ::SetMasterVolumeLevel
- IAudioEndpointVolume ::SetMasterVolumeLevelScalar
- IAudioEndpointVolume ::SetMute
- IAudioEndpointVolume ::VolumeStepDown
- IAudioEndpointVolume ::VolumeStepUp
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
IAudioEndpointVolume, interface
IAudioEndpointVolume ::SetChannelVolumeLevel
IAudioEndpointVolume ::SetChannelVolumeLevelScalar
IAudioEndpointVolume ::SetMasterVolumeLevel
IAudioEndpointVolume ::SetMasterVolumeLevelScalar
IAudioEndpointVolume ::SetMute
IAudioEndpointVolume ::VolumeStepDown
IAudioEndpointVolume ::VolumeStepUp