Share via


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

O método SetAllVolumes define os níveis de volume individuais para todos os canais na sessão de áudio.

Sintaxe

HRESULT SetAllVolumes(
  [in] UINT32      dwCount,
  [in] const float *pfVolumes,
  [in] LPCGUID     EventContext
);

Parâmetros

[in] dwCount

O número de elementos na matriz pfVolumes . Esse parâmetro deve ser igual ao número de canais no formato de fluxo para a sessão de áudio. Para obter o número de canais, chame o método IChannelAudioVolume::GetChannelCount .

[in] pfVolumes

Ponteiro para uma matriz de níveis de volume para os canais na sessão de áudio. O número de elementos na matriz pfVolumes é especificado pelo parâmetro dwCount . O chamador grava o nível de volume de cada canal no elemento de matriz cujo índice corresponde ao 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. 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 dwCount não é igual ao número de canais no formato de fluxo para a sessão de áudio ou o valor de um elemento de matriz pfVolumes não está no intervalo de 0,0 a 1,0.
E_POINTER
O parâmetro pfVolumes é NULL.
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 qualquer um dos novos níveis de volume de canal diferir em valor em relação aos níveis 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