IAudioMeterInformation-Schnittstelle (endpointvolume.h)
Die IAudioMeterInformation-Schnittstelle stellt eine Spitzenmessung in einem Audiodatenstrom zu oder von einem Audioendpunktgerät dar. Der Client ruft einen Verweis auf die IAudioMeterInformation-Schnittstelle auf einem Endpunktobjekt ab, indem er die IMMDevice::Activate-Methode aufruft , wobei der Parameter iid auf REFIID IID_IAudioMeterInformation festgelegt ist.
Wenn das Adaptergerät, das Audiodaten an oder vom Endpunktgerät streamt, eine Hardware-Spitzenmessung implementiert, verwendet die IAudioMeterInformation-Schnittstelle diese Verbrauchseinheit, um die Spitzenpegel im Audiodatenstrom zu überwachen. Wenn auf dem Audiogerät keine Hardware-Spitzenmessung vorhanden ist, implementiert die Audio-Engine den Spitzenzähler automatisch in softwaretransparent für den Client.
Wenn ein Gerät über eine Hardware-Spitzenmessung verfügt, kann ein Client die Methoden in der IAudioMeterInformation-Schnittstelle verwenden, um die Spitzenwerte des Geräts sowohl im freigegebenen Modus als auch im exklusiven Modus zu überwachen. Wenn auf einem Gerät keine Hardware-Spitzenmessung vorhanden ist, kann ein Client diese Methoden verwenden, um die Spitzenwerte des Geräts im gemeinsamen Modus zu überwachen, jedoch nicht im exklusiven Modus. Im exklusiven Modus tauschen der Client und das Gerät Audiodaten direkt aus und umgehen dabei den Softwarespitzenzähler. Im exklusiven Modus meldet ein Softwarespitzenzähler immer den Spitzenwert 0,0.
Rufen Sie die IAudioMeterInformation::QueryHardwareSupport-Methode auf, um zu bestimmen, ob ein Gerät über eine Hardware-Spitzenmessung verfügt.
Bei einem Renderingendpunktgerät überwacht die IAudioMeterInformation-Schnittstelle die Spitzenwerte im Ausgabedatenstrom, bevor der Stream durch die Endpunktvolumesteuerelemente abgeschwächt wird. Auf ähnliche Weise überwacht die Schnittstelle bei einem Erfassungsendpunktgerät die Spitzenwerte im Eingabedatenstrom, bevor der Stream von den Endpunktvolumesteuerungen abgeschwächt wird.
Die von den Methoden in der IAudioMeterInformation-Schnittstelle gemeldeten Spitzenwerte werden auf den Bereich von 0,0 bis 1,0 normalisiert. Wenn ein PCM-Stream beispielsweise 16-Bit-Stichproben enthält und der Spitzenwert der Stichprobe während eines bestimmten Messzeitraums –8914 ist, ist der absolute Wert, der vom Spitzenzähler aufgezeichnet wird, 8914, und der normalisierte Spitzenwert, der von der IAudioMeterInformation-Schnittstelle gemeldet wird, ist 8914/32768 = 0,272.
Ein Codebeispiel, das die IAudioMeterInformation-Schnittstelle verwendet, finden Sie unter Peak Meter.
Vererbung
Die IAudioMeterInformation-Schnittstelle erbt von der IUnknown-Schnittstelle . IAudioMeterInformation verfügt auch über folgende Membertypen:
Methoden
Die IAudioMeterInformation-Schnittstelle verfügt über diese Methoden.
IAudioMeterInformation::GetChannelsPeakValues Die GetChannelsPeakValues-Methode ruft die Spitzenbeispielwerte für alle Kanäle im Audiodatenstrom ab. |
IAudioMeterInformation::GetMeteringChannelCount Die GetMeteringChannelCount-Methode ruft die Anzahl der Kanäle im Audiodatenstrom ab, die von Spitzenzählern überwacht werden. |
IAudioMeterInformation::GetPeakValue Die GetPeakValue-Methode ruft den Spitzenwert des Beispiels für die Kanäle im Audiodatenstrom ab. |
IAudioMeterInformation::QueryHardwareSupport Die QueryHardwareSupport-Methode fragt das Audioendpunktgerät nach seinen hardwareunterstützten Funktionen ab. (IAudioMeterInformation.QueryHardwareSupport) |
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | endpointvolume.h |