Método IAudioSessionControl::GetState (audiopolicy.h)
O método GetState recupera o estado atual da sessão de áudio.
Sintaxe
HRESULT GetState(
[out] AudioSessionState *pRetVal
);
Parâmetros
[out] pRetVal
Ponteiro para uma variável na qual o método grava o estado de sessão atual. O estado deve ser um dos seguintes valores de enumeração AudioSessionState :
AudioSessionStateActive
AudioSessionStateInactive
AudioSessionStateExpired
Esses valores indicam que o estado da sessão está ativo, inativo ou expirado, respectivamente. Para obter mais informações, consulte Comentários.
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 |
---|---|
|
O parâmetro pRetVal é NULL. |
|
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 indisponíveis para uso. |
|
O serviço de áudio do Windows não está em execução. |
Comentários
Esse método indica se o estado da sessão está ativo, inativo ou expirado. O estado estará ativo se a sessão tiver um ou mais fluxos em execução. O estado muda de ativo para inativo quando o último fluxo em execução na sessão é interrompido. O estado da sessão muda para expirado quando o cliente destrói o último fluxo na sessão liberando todas as referências ao objeto de fluxo.
O programa Sndvol exibe controles de volume e mudo para sessões que estão nos estados ativo e inativo. Quando uma sessão expira, o Sndvol para de exibir os controles dessa sessão. Se uma sessão tiver expirado anteriormente, mas o estado da sessão for alterado para ativo (porque um fluxo na sessão começa a ser executado) ou inativo (porque um cliente atribui um novo fluxo à sessão), o Sndvol retoma a exibição dos controles da sessão.
O cliente cria um fluxo chamando o método IAudioClient::Initialize . No momento em que ele cria um fluxo, o cliente atribui o fluxo a uma sessão. Uma sessão começa quando um cliente atribui o primeiro fluxo à sessão. Inicialmente, a sessão está no estado inativo. O estado da sessão muda para ativo quando o primeiro fluxo na sessão começa a ser executado. A sessão termina quando um cliente libera a referência final para o último objeto de fluxo restante na sessão.
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 |