Compartilhar via


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

O método SetChannelVolumeLevelScalar define o nível de volume normalizado e gravado em áudio do canal especificado no fluxo de áudio que entra ou sai do dispositivo de ponto de extremidade de áudio.

Sintaxe

HRESULT SetChannelVolumeLevelScalar(
  [in] UINT    nChannel,
  [in] float   fLevel,
  [in] LPCGUID pguidEventContext
);

Parâmetros

[in] nChannel

O número do canal. Se o fluxo de áudio contiver n canais, os canais serão numerados de 0 a n– 1. Para obter o número de canais, chame o método IAudioEndpointVolume::GetChannelCount .

[in] fLevel

O nível de volume. O nível de volume é expresso como um valor normalizado no intervalo de 0,0 a 1,0.

[in] pguidEventContext

Valor de contexto para o método IAudioEndpointVolumeCallback::OnNotify . Esse parâmetro aponta para um GUID de contexto de evento. Se a chamada SetChannelVolumeLevelScalar alterar o nível de volume do ponto de extremidade, todos os clientes que registraram interfaces IAudioEndpointVolumeCallback com esse ponto de extremidade receberão notificações. Em sua implementação do método OnNotify , um cliente pode inspecionar o GUID de contexto de evento para descobrir se ele ou outro cliente é a origem do evento de alteração de volume. Se o chamador fornecer um ponteiro NULL para esse parâmetro, a rotina de notificação receberá o valor guid de contexto GUID_NULL.

Retornar valor

Se o método for bem-sucedido, retornará S_OK. Se o método 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_INVALIDARG
O parâmetro nChannel é maior ou igual ao número de canais no fluxo; ou o parâmetro fLevel está fora do intervalo de 0,0 a 1,0.
E_OUTOFMEMORY
Sem memória.

Comentários

O nível de volume é normalizado para o intervalo de 0,0 a 1,0, em que 0,0 é o nível mínimo de volume e 1,0 é o nível máximo. Dentro desse intervalo, a relação do nível de volume normalizado com a atenuação da amplitude do sinal é descrita por uma curva não linear e com á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 níveis de volume normalizados passados para esse método são adequados para representar as posições dos controles de volume nas janelas do aplicativo e nas telas na tela.

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::GetChannelCount

IAudioEndpointVolumeCallback Interface

IAudioEndpointVolumeCallback::OnNotify