Share via


Método IPerChannelDbLevel::SetLevel (devicetopology.h)

O método SetLevel define o nível de volume, em decibéis, do canal especificado.

Sintaxe

HRESULT SetLevel(
  [in] UINT    nChannel,
  [in] float   fLevelDB,
  [in] LPCGUID pguidEventContext
);

Parâmetros

[in] nChannel

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

[in] fLevelDB

O novo nível de volume em decibéis. Um valor positivo representa ganho e um valor negativo representa atenuação.

[in] pguidEventContext

Valor de contexto para o método IControlChangeNotify::OnNotify . Esse parâmetro aponta para um GUID de contexto de evento. Se a chamada SetLevel alterar o estado do controle de nível, todos os clientes que registraram interfaces IControlChangeNotify com esse controle 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 control-change. Se o chamador fornecer um ponteiro NULL para esse parâmetro, o método de notificação do cliente receberá um ponteiro de contexto NULL .

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_INVALIDARG
O parâmetro nChannel está fora do intervalo.
E_OUTOFMEMORY
Sem memória.

Comentários

Se o chamador especificar um valor para fLevelDB que é um valor de etapa exato, o método SetLevel será concluído com êxito. Uma chamada subsequente para o método IPerChannelDbLevel::GetLevel retornará o valor que foi definido ou um dos seguintes valores:

  • Se o valor definido estiver abaixo do mínimo, o método GetLevel retornará o valor mínimo.
  • Se o valor definido estiver acima do máximo, o método GetLevel retornará o valor máximo.
  • Se o valor definido estiver entre dois valores de etapa, o método GetLevel retornará um valor que pode ser o próximo valor de etapa acima ou o valor de etapa abaixo do valor definido; as distâncias relativas do valor definido para os valores de etapa vizinhos não são importantes. O valor que o método GetLevel retorna é qualquer valor que tenha mais impacto no caminho do sinal.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho devicetopology.h

Confira também

IPerChannelDbLevel Interface

IPerChannelDbLevel::GetChannelCount

IPerChannelDbLevel::GetLevel

IPerChannelDbLevel::GetLevelRange