Share via


Interface IChannelAudioVolume (audioclient.h)

A interface IChannelAudioVolume permite que um cliente controle e monitore os níveis de volume de todos os canais na sessão de áudio à qual o fluxo pertence. Esta é a sessão à qual o cliente atribuiu o fluxo durante a chamada para o método IAudioClient::Initialize . O cliente obtém uma referência à interface IChannelAudioVolume em um objeto de fluxo chamando o método IAudioClient::GetService com o parâmetro riid definido como REFIID IID_IChannelAudioVolume.

O nível de volume efetivo de qualquer canal no submix de sessão, conforme ouvido nos alto-falantes, é o produto dos quatro fatores de nível de volume a seguir:

  • Os níveis de volume por canal dos fluxos na sessão, que os clientes podem controlar por meio dos métodos na interface IAudioStreamVolume .
  • O nível de volume por canal da sessão, que os clientes podem controlar por meio dos métodos na interface IChannelAudioVolume .
  • O master nível de volume da sessão, que os clientes podem controlar por meio dos métodos na interface ISimpleAudioVolume.
  • O nível de volume baseado em política da sessão, que o sistema atribui dinamicamente à sessão à medida que a combinação global é alterada.
Cada um dos quatro fatores de nível de volume na lista anterior é um valor no intervalo de 0,0 a 1,0, em que 0,0 indica silêncio e 1,0 indica volume completo (sem atenuação). O nível de volume efetivo também é um valor no intervalo de 0,0 a 1,0.

Aplicativos de áudio típicos não modificam os níveis de volume das sessões. Em vez disso, eles dependem dos usuários para definir esses níveis de volume por meio do programa Sndvol. O Sndvol modifica apenas os níveis de volume master das sessões. Por padrão, o gerenciador de sessão define os níveis de volume por canal como 1,0 na ativação inicial de uma sessão. As alterações subsequentes de volume por canal por clientes são persistentes entre as reinicializações do computador.

Ao liberar uma instância de interface IChannelAudioVolume , o cliente deve chamar o método Release da interface do mesmo thread que a chamada para IAudioClient::GetService que criou o objeto.

A interface IChannelAudioVolume controla os volumes de canal em uma sessão de áudio. Uma sessão de áudio é uma coleção de fluxos de modo compartilhado. Essa interface não funciona com fluxos de modo exclusivo. Para obter informações sobre controles de volume para fluxos de modo exclusivo, consulte API EndpointVolume.

Herança

A interface IChannelAudioVolume herda da interface IUnknown . IChannelAudioVolume também tem estes tipos de membros:

Métodos

A interface IChannelAudioVolume tem esses métodos.

 
IChannelAudioVolume::GetAllVolumes

O método GetAllVolumes recupera os níveis de volume para todos os canais na sessão de áudio.
IChannelAudioVolume::GetChannelCount

O método GetChannelCount recupera o número de canais no formato de fluxo para a sessão de áudio.
IChannelAudioVolume::GetChannelVolume

O método GetChannelVolume recupera o nível de volume do canal especificado na sessão de áudio.
IChannelAudioVolume::SetAllVolumes

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

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

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

Principais interfaces de áudio

IAudioClient::GetService

IAudioClient::Initialize

IAudioStreamVolume Interface

ISimpleAudioVolume Interface

WASAPI