Compartilhar via


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

O método SetChannelVolumeLevel define o nível de volume, em decibéis, do canal especificado do fluxo de áudio que entra ou sai do dispositivo de ponto de extremidade de áudio.

Sintaxe

HRESULT SetChannelVolumeLevel(
  [in] UINT    nChannel,
  [in] float   fLevelDB,
  [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] fLevelDB

O novo nível de volume em decibéis. Para obter o intervalo e a granularidade dos níveis de volume que podem ser definidos por esse método, chame o método IAudioEndpointVolume::GetVolumeRange .

[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 SetChannelVolumeLevel 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 fLevelDB está fora do intervalo de volumes com suporte do dispositivo.
E_OUTOFMEMORY
Sem memória.

Comentários

Se o nível de volume fLevelDB ficar fora do intervalo de volume relatado pelo método IAudioEndpointVolume::GetVolumeRange , a chamada SetChannelVolumeLevel falhará e retornará o código de erro E_INVALIDARG.

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

IAudioEndpointVolume::GetVolumeRange

IAudioEndpointVolumeCallback Interface

IAudioEndpointVolumeCallback::OnNotify