Compartilhar via


Interface IAudioSessionEvents (audiopolicy.h)

A interface IAudioSessionEvents fornece notificações de eventos relacionados à sessão, como alterações no nível do volume, nome de exibição e estado da sessão. Ao contrário das outras interfaces nesta seção, que são implementadas pelo componente do sistema WASAPI, um cliente WASAPI implementa a interface IAudioSessionEvents . Para receber notificações de evento, o cliente passa um ponteiro para sua interface IAudioSessionEvents para o método IAudioSessionControl::RegisterAudioSessionNotification .

Depois de registrar sua interface IAudioClientSessionEvents , o cliente recebe notificações de evento na forma de retornos de chamada por meio dos métodos na interface.

Ao implementar a interface IAudioSessionEvents , o cliente deve observar essas regras para evitar deadlocks e comportamento indefinido:

  • Os métodos na interface devem ser não desbloqueados. O cliente nunca deve esperar em um objeto de sincronização durante um retorno de chamada de evento.
  • O cliente nunca deve chamar o método IAudioSessionControl::UnregisterAudioSessionNotification durante um retorno de chamada de evento.
  • O cliente nunca deve liberar a referência final em um objeto WASAPI durante um retorno de chamada de evento.
Para obter um exemplo de código que implementa uma interface IAudioSessionEvents , consulte Eventos de Sessão de Áudio. Para obter um exemplo de código que registra a interface IAudioSessionEvents de um cliente para receber notificações, consulte Eventos de áudio para aplicativos de áudio herdados.

Herança

A interface IAudioSessionEvents herda da interface IUnknown . IAudioSessionEvents também tem esses tipos de membros:

Métodos

A interface IAudioSessionEvents tem esses métodos.

 
IAudioSessionEvents::OnChannelVolumeChanged

O método OnChannelVolumeChanged notifica o cliente de que o nível de volume de um canal de áudio no submix de sessão foi alterado.
IAudioSessionEvents::OnDisplayNameChanged

O método OnDisplayNameChanged notifica o cliente de que o nome de exibição da sessão foi alterado.
IAudioSessionEvents::OnGroupingParamChanged

O método OnGroupingParamChanged notifica o cliente de que o parâmetro de agrupamento da sessão foi alterado.
IAudioSessionEvents::OnIconPathChanged

O método OnIconPathChanged notifica o cliente de que o ícone de exibição da sessão foi alterado.
IAudioSessionEvents::OnSessionDisconnected

O método OnSessionDisconnected notifica o cliente de que a sessão de áudio foi desconectada.
IAudioSessionEvents::OnSimpleVolumeChanged

O método OnSimpleVolumeChanged notifica o cliente de que o nível de volume ou o estado de mudo da sessão de áudio foi alterado.
IAudioSessionEvents::OnStateChanged

O método OnStateChanged notifica o cliente de que o estado de atividade de fluxo da sessão foi alterado.

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

Confira também

Principais interfaces de áudio

IAudioSessionControl::RegisterAudioSessionNotification

IAudioSessionControl::UnregisterAudioSessionNotification

WASAPI