Interfaz IAudioMeterInformation (endpointvolume.h)
La interfaz IAudioMeterInformation representa un medidor máximo de una secuencia de audio hacia o desde un dispositivo de punto de conexión de audio. El cliente obtiene una referencia a la interfaz IAudioMeterInformation en un objeto de extremo llamando al método IMMDevice::Activate con el parámetro iid establecido en REFIID IID_IAudioMeterInformation.
Si el dispositivo adaptador que transmite datos de audio hacia o desde el dispositivo de punto de conexión implementa un medidor máximo de hardware, la interfaz IAudioMeterInformation usa ese medidor para supervisar los niveles máximos de la secuencia de audio. Si el dispositivo de audio carece de un medidor máximo de hardware, el motor de audio implementa automáticamente el medidor máximo en el software, de forma transparente para el cliente.
Si un dispositivo tiene un medidor máximo de hardware, un cliente puede usar los métodos de la interfaz IAudioMeterInformation para supervisar los niveles máximos del dispositivo tanto en modo compartido como en modo exclusivo. Si un dispositivo carece de un medidor máximo de hardware, un cliente puede usar esos métodos para supervisar los niveles máximos del dispositivo en modo compartido, pero no en modo exclusivo. En modo exclusivo, el cliente y el dispositivo intercambian datos de audio directamente, omitiendo el medidor máximo de software. En modo exclusivo, un medidor máximo de software siempre informa de un valor máximo de 0,0.
Para determinar si un dispositivo tiene un medidor máximo de hardware, llame al método IAudioMeterInformation::QueryHardwareSupport .
En el caso de un dispositivo de punto de conexión de representación, la interfaz IAudioMeterInformation supervisa los niveles máximos del flujo de salida antes de que los controles de volumen del punto de conexión atenúen la secuencia. Del mismo modo, para un dispositivo de punto de conexión de captura, la interfaz supervisa los niveles máximos del flujo de entrada antes de que los controles de volumen del punto de conexión atenúan la secuencia.
Los valores máximos notificados por los métodos de la interfaz IAudioMeterInformation se normalizan hasta el intervalo de 0,0 a 1,0. Por ejemplo, si una secuencia PCM contiene muestras de 16 bits y el valor máximo de la muestra durante un período de medición determinado es –8914, el valor absoluto registrado por el medidor máximo es 8914 y el valor máximo normalizado notificado por la interfaz IAudioMeterInformation es 8914/32768 = 0,272.
Para obtener un ejemplo de código que usa la interfaz IAudioMeterInformation , vea Medidores máximos.
Herencia
La interfaz IAudioMeterInformation hereda de la interfaz IUnknown . IAudioMeterInformation también tiene estos tipos de miembros:
Métodos
La interfaz IAudioMeterInformation tiene estos métodos.
IAudioMeterInformation::GetChannelsPeakValues El método GetChannelsPeakValues obtiene los valores máximos de muestra para todos los canales de la secuencia de audio. |
IAudioMeterInformation::GetMeteringChannelCount El método GetMeteringChannelCount obtiene el número de canales de la secuencia de audio que se supervisan por medidores de pico. |
IAudioMeterInformation::GetPeakValue El método GetPeakValue obtiene el valor máximo de muestra para los canales de la secuencia de audio. |
IAudioMeterInformation::QueryHardwareSupport El método QueryHardwareSupport consulta el dispositivo de punto de conexión de audio para sus funciones compatibles con hardware. (IAudioMeterInformation.QueryHardwareSupport) |
Requisitos
Cliente mínimo compatible | Windows Vista [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | endpointvolume.h |