Compartilhar via


Método IAudioEndpointVolume::GetVolumeStepInfo (endpointvolume.h)

O método GetVolumeStepInfo obtém informações sobre a etapa atual no intervalo de volumes.

Sintaxe

HRESULT GetVolumeStepInfo(
  [out] UINT *pnStep,
  [out] UINT *pnStepCount
);

Parâmetros

[out] pnStep

Ponteiro para uma variável UINT na qual o método grava o índice da etapa atual. Esse índice é um valor no intervalo de 0 a *pStepCount– 1, em que 0 representa o nível mínimo do volume e *pStepCount– 1 representa o nível máximo.

[out] pnStepCount

Ponteiro para uma variável UINT na qual o método grava o número de etapas no intervalo de volumes. Esse número permanece constante durante o tempo de vida da instância da interface IAudioEndpointVolume .

Retornar valor

Se o método for bem-sucedido, retornará S_OK. Se falhar, os códigos de retorno possíveis incluem, mas não se limitam a, os valores mostrados na tabela a seguir.

Código de retorno Descrição
E_POINTER
Os parâmetros pnStep e pnStepCount são NULL.

Comentários

Esse método representa o nível de volume do fluxo de áudio que insere ou deixa o dispositivo de ponto de extremidade de áudio como um índice ou "etapa" em um intervalo de níveis de volume discretos. O valor de saída *pnStepCount é o número de etapas no intervalo. O valor de saída *pnStep é o índice de etapa do nível de volume atual. Se o número de etapas for n = *pnStepCount, o índice de etapa *pnStep poderá assumir valores de 0 (volume mínimo) a n – 1 (volume máximo).

Ao longo do intervalo de 0 a n – 1, intervalos sucessivos entre etapas adjacentes não representam necessariamente incrementos de volume uniformes em amplitude de sinal linear ou decibéis. No Windows Vista, GetVolumeStepInfo define a relação do índice com o nível do volume (amplitude do sinal) como uma curva de áudio afilado. Observe que a forma da curva pode mudar em versões futuras do Windows. Para obter mais informações sobre curvas de áudio afilado, consulte Audio-Tapered Volume Controls.

Os aplicativos de áudio podem chamar os métodos IAudioEndpointVolume::VolumeStepUp e IAudioEndpointVolume::VolumeStepDown para aumentar ou diminuir o nível do volume em um intervalo. Primeiro, qualquer método calcula o nível de volume idealizado que corresponde ao próximo ponto na curva de áudio afilado. Em seguida, o método seleciona a configuração de volume do ponto de extremidade que é a melhor aproximação para o nível idealizado. Para obter o intervalo e a granularidade das configurações de volume do ponto de extremidade, chame o método IEndpointVolume::GetVolumeRange . Se o dispositivo de ponto de extremidade de áudio implementar um controle de volume de hardware, GetVolumeRange descreverá as configurações de volume de hardware. Caso contrário, a API EndpointVolume implementa o controle de volume do ponto de extremidade no software e GetVolumeRange descreve as configurações de volume do controle implementado pelo software.

Requisitos

Requisito Valor
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

IAudioEndpointVolume Interface

IAudioEndpointVolume::VolumeStepDown

IAudioEndpointVolume::VolumeStepUp