Partager via


Interface IAudioMeterInformation (endpointvolume.h)

L’interface IAudioMeterInformation représente un compteur de pointe sur un flux audio vers ou depuis un appareil de point de terminaison audio. Le client obtient une référence à l’interface IAudioMeterInformation sur un objet de point de terminaison en appelant la méthode IMMDevice::Activate avec le paramètre iid défini sur REFIID IID_IAudioMeterInformation.

Si l’appareil adaptateur qui diffuse des données audio vers ou à partir de l’appareil de point de terminaison implémente un compteur de pics matériels, l’interface IAudioMeterInformation utilise ce compteur pour surveiller les niveaux de pointe dans le flux audio. Si le périphérique audio ne dispose pas d’un compteur de pointe matériel, le moteur audio implémente automatiquement le compteur de pointe dans le logiciel, de manière transparente pour le client.

Si un appareil dispose d’un compteur de pointe matériel, un client peut utiliser les méthodes de l’interface IAudioMeterInformation pour surveiller les niveaux de pointe de l’appareil en mode partagé et en mode exclusif. Si un appareil ne dispose pas d’un compteur de pointe matériel, un client peut utiliser ces méthodes pour surveiller les niveaux de pointe de l’appareil en mode partagé, mais pas en mode exclusif. En mode exclusif, le client et l’appareil échangent directement des données audio, en contournant le compteur de pointe du logiciel. En mode exclusif, un compteur de pointe logiciel indique toujours une valeur maximale de 0,0.

Pour déterminer si un appareil dispose d’un compteur de pointe matérielle, appelez la méthode IAudioMeterInformation::QueryHardwareSupport .

Pour un appareil de point de terminaison de rendu, l’interface IAudioMeterInformation surveille les niveaux de pointe dans le flux de sortie avant que le flux ne soit atténué par les contrôles de volume du point de terminaison. De même, pour un appareil de point de terminaison de capture, l’interface surveille les niveaux de pointe dans le flux d’entrée avant que le flux ne soit atténué par les contrôles de volume du point de terminaison.

Les valeurs de pointe signalées par les méthodes de l’interface IAudioMeterInformation sont normalisées à la plage comprise entre 0,0 et 1,0. Par exemple, si un flux PCM contient des échantillons 16 bits et que la valeur maximale de l’échantillon pendant une période de mesure particulière est de -8914, la valeur absolue enregistrée par le compteur de pointe est 8914 et la valeur de pic normalisée signalée par l’interface IAudioMeterInformation est 8914/32768 = 0,272.

Pour obtenir un exemple de code qui utilise l’interface IAudioMeterInformation , consultez Peak Meters.

Héritage

L’interface IAudioMeterInformation hérite de l’interface IUnknown. IAudioMeterInformation a également les types de membres suivants :

Méthodes

L’interface IAudioMeterInformation possède ces méthodes.

 
IAudioMeterInformation::GetChannelsPeakValues

La méthode GetChannelsPeakValues obtient les exemples de valeurs de pointe pour tous les canaux du flux audio.
IAudioMeterInformation::GetMeteringChannelCount

La méthode GetMeteringChannelCount obtient le nombre de canaux dans le flux audio qui sont surveillés par des compteurs de pointe.
IAudioMeterInformation::GetPeakValue

La méthode GetPeakValue obtient l’exemple de valeur de pointe pour les canaux dans le flux audio.
IAudioMeterInformation::QueryHardwareSupport

La méthode QueryHardwareSupport interroge le périphérique de point de terminaison audio pour ses fonctions matérielles prises en charge. (IAudioMeterInformation.QueryHardwareSupport)

Spécifications

   
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 endpointvolume.h

Voir aussi

Interfaces audio principales

EndpointVolume API

IMMDevice::Activate