Método IChannelAudioVolume::SetChannelVolume (audioclient.h)

O método SetChannelVolume define o nível de volume para o canal especificado na sessão de áudio.

Sintaxe

HRESULT SetChannelVolume(
  [in] UINT32      dwIndex,
  [in] const float fLevel,
  [in] LPCGUID     EventContext
);

Parâmetros

[in] dwIndex

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

[in] fLevel

O nível de volume do canal. Os níveis de volume válidos estão no intervalo de 0,0 a 1,0.

[in] EventContext

Ponteiro para o GUID de contexto de evento. Se uma chamada para esse método gerar um evento de alteração de volume de canal, o gerenciador de sessão enviará notificações a todos os clientes que registraram interfaces IAudioSessionEvents com o gerenciador de sessão. O gerenciador de sessão inclui o valor do ponteiro EventContext com cada notificação. Ao receber uma notificação, um cliente pode determinar se ele ou outro cliente é a origem do evento inspecionando o valor EventContext . Esse esquema depende do cliente selecionar um valor para esse parâmetro exclusivo entre todos os clientes na sessão. 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 dwIndex é definido como um número de canal inválido ou o parâmetro fLevel não está no intervalo de 0,0 a 1,0.
AUDCLNT_E_DEVICE_INVALIDATED
O dispositivo de ponto de extremidade de áudio foi desconectado ou o hardware de áudio ou os recursos de hardware associados foram reconfigurados, desabilitados, removidos ou não estão disponíveis para uso.
AUDCLNT_E_SERVICE_NOT_RUNNING
O serviço de áudio do Windows não está em execução.

Comentários

Esse método, se for bem-sucedido, gerará um evento de alteração de volume de canal, independentemente de o novo nível de volume de canal ser diferente do valor do nível de volume do canal anterior.

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 audioclient.h

Confira também

IAudioSessionEvents Interface

IChannelAudioVolume Interface

IChannelAudioVolume::GetChannelCount