IAudioSessionEvents ::OnChannelVolumeChanged, méthode (audiopolicy.h)
La méthode OnChannelVolumeChanged informe le client que le niveau de volume d’un canal audio dans le sous-mix de session a changé.
Syntaxe
HRESULT OnChannelVolumeChanged(
[in] DWORD ChannelCount,
[in] float [] NewChannelVolumeArray,
[in] DWORD ChangedChannel,
[in] LPCGUID EventContext
);
Paramètres
[in] ChannelCount
Nombre de canaux. Ce paramètre spécifie le nombre de canaux audio dans le sous-mix de session.
[in] NewChannelVolumeArray
Pointeur vers un tableau de niveaux de volume. Chaque élément est une valeur de type float qui spécifie le niveau de volume pour un canal particulier. Chaque niveau de volume est une valeur comprise entre 0,0 et 1,0, où 0,0 est silence et 1.0 est un volume complet (aucune atténuation). Le nombre d’éléments dans le tableau est spécifié par le paramètre ChannelCount . Si un flux audio contient n canaux, les canaux sont numérotés de 0 à n– 1. L’élément de tableau dont l’index correspond au numéro de canal, contient le niveau de volume de ce canal. Supposons que le tableau reste valide uniquement pendant la durée de l’appel.
[in] ChangedChannel
Numéro du canal dont le niveau de volume a changé. Utilisez cette valeur comme index dans le tableau NewChannelVolumeArray . Si le sous-mix de session contient n canaux, les canaux sont numérotés de 0 à n– 1. Si plusieurs canaux peuvent avoir changé (par exemple, à la suite d’un appel à la méthode IChannelAudioVolume ::SetAllVolumes ), la valeur de ChangedChannel est (DWORD)(–1).
[in] EventContext
Valeur du contexte d’événement. Il s’agit de la même valeur que celle que l’appelant a passée à la méthode IChannelAudioVolume ::SetChannelVolume ou IChannelAudioVolume ::SetAllVolumes dans l’appel qui a initié la modification du niveau de volume du canal. Pour plus d'informations, consultez la section Notes.
Valeur retournée
Si la méthode réussit, retourne S_OK. En cas d'échec, retourne un code d'erreur.
Remarques
Le gestionnaire de session appelle cette méthode chaque fois qu’un appel à la méthode IChannelAudioVolume ::SetChannelVolume ou IChannelAudioVolume ::SetAllVolumes met à jour correctement le niveau de volume d’un ou plusieurs canaux dans le sous-mélange de session. Notez que l’appel OnChannelVolumeChanged se produit, que le nouveau niveau de volume de canal ou les niveaux diffèrent en valeur du ou des niveaux de volume de canal précédents.
Le paramètre EventContext permet à un client de faire la distinction entre une modification de canal-volume qu’il a initiée et une modification initiée par un autre client. Lors de l’appel de la méthode IChannelAudioVolume ::SetChannelVolume ou IChannelAudioVolume ::SetAllVolumes , un client transmet une valeur de paramètre EventContext que son implémentation de la méthode OnChannelVolumeChanged peut reconnaître.
Pour obtenir un exemple de code qui implémente les méthodes dans l’interface IAudioSessionEvents , consultez Événements de session audio.
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 | audiopolicy.h |