Compartilhar via


Interface IAudioMeterInformation (endpointvolume.h)

A interface IAudioMeterInformation representa um medidor de pico em um fluxo de áudio de ou para um dispositivo de ponto de extremidade de áudio. O cliente obtém uma referência à interface IAudioMeterInformation em um objeto de ponto de extremidade chamando o método IMMDevice::Activate com iid de parâmetro definido como REFIID IID_IAudioMeterInformation.

Se o dispositivo adaptador que transmite dados de áudio de ou para o dispositivo de ponto de extremidade implementar um medidor de pico de hardware, a interface IAudioMeterInformation usará esse medidor para monitorar os níveis de pico no fluxo de áudio. Se o dispositivo de áudio não tiver um medidor de pico de hardware, o mecanismo de áudio implementará automaticamente o medidor de pico no software, de forma transparente para o cliente.

Se um dispositivo tiver um medidor de pico de hardware, um cliente poderá usar os métodos na interface IAudioMeterInformation para monitorar os níveis de pico do dispositivo no modo compartilhado e no modo exclusivo. Se um dispositivo não tiver um medidor de pico de hardware, um cliente poderá usar esses métodos para monitorar os níveis de pico do dispositivo no modo compartilhado, mas não no modo exclusivo. No modo exclusivo, o cliente e o dispositivo trocam dados de áudio diretamente, ignorando o medidor de pico do software. No modo exclusivo, um medidor de pico de software sempre relata um valor de pico de 0,0.

Para determinar se um dispositivo tem um medidor de pico de hardware, chame o método IAudioMeterInformation::QueryHardwareSupport .

Para um dispositivo de ponto de extremidade de renderização, a interface IAudioMeterInformation monitora os níveis de pico no fluxo de saída antes que o fluxo seja atenuado pelos controles de volume do ponto de extremidade. Da mesma forma, para um dispositivo de ponto de extremidade de captura, a interface monitora os níveis de pico no fluxo de entrada antes que o fluxo seja atenuado pelos controles de volume do ponto de extremidade.

Os valores de pico relatados pelos métodos na interface IAudioMeterInformation são normalizados para o intervalo de 0,0 a 1,0. Por exemplo, se um fluxo PCM contiver amostras de 16 bits e o valor de amostra de pico durante um período de medição específico for –8914, o valor absoluto registrado pelo medidor de pico será 8914 e o valor de pico normalizado relatado pela interface IAudioMeterInformation será 8914/32768 = 0,272.

Para obter um exemplo de código que usa a interface IAudioMeterInformation , consulte Medidores de pico.

Herança

A interface IAudioMeterInformation herda da interface IUnknown . IAudioMeterInformation também tem estes tipos de membros:

Métodos

A interface IAudioMeterInformation tem esses métodos.

 
IAudioMeterInformation::GetChannelsPeakValues

O método GetChannelsPeakValues obtém os valores de exemplo de pico para todos os canais no fluxo de áudio.
IAudioMeterInformation::GetMeteringChannelCount

O método GetMeteringChannelCount obtém o número de canais no fluxo de áudio monitorados por medidores de pico.
IAudioMeterInformation::GetPeakValue

O método GetPeakValue obtém o valor de exemplo de pico para os canais no fluxo de áudio.
IAudioMeterInformation::QueryHardwareSupport

O método QueryHardwareSupport consulta o dispositivo de ponto de extremidade de áudio em busca de suas funções com suporte de hardware. (IAudioMeterInformation.QueryHardwareSupport)

Requisitos

   
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho endpointvolume.h

Confira também

Principais interfaces de áudio

EndpointVolume API

IMMDevice::Activate