Share via


Metodo IAudioSessionControl::GetState (audiopolicy.h)

Il metodo GetState recupera lo stato corrente della sessione audio.

Sintassi

HRESULT GetState(
  [out] AudioSessionState *pRetVal
);

Parametri

[out] pRetVal

Puntatore a una variabile in cui il metodo scrive lo stato della sessione corrente. Lo stato deve essere uno dei valori di enumerazione AudioSessionState seguenti:

AudioSessionStateActive

AudioSessionStateInactive

AudioSessionStateExpired

Questi valori indicano che lo stato della sessione è attivo, inattivo o scaduto rispettivamente. Per altre informazioni, vedere la sezione Osservazioni.

Valore restituito

Se il metodo ha esito positivo, viene restituito S_OK. Se ha esito negativo, i codici restituiti possibili includono, ma non sono limitati a, i valori visualizzati nella tabella seguente.

Codice restituito Descrizione
E_POINTER
Il parametro pRetVal è NULL.
AUDCLNT_E_DEVICE_INVALIDATED
Il dispositivo endpoint audio è stato scollegato o l'hardware audio o le risorse hardware associate sono state riconfigurate, disabilitate, rimosse o altrimenti non disponibili per l'uso.
AUDCLNT_E_SERVICE_NOT_RUNNING
Il servizio audio Di Windows non è in esecuzione.

Commenti

Questo metodo indica se lo stato della sessione è attivo, inattivo o scaduto. Lo stato è attivo se la sessione ha uno o più flussi in esecuzione. Lo stato cambia da attivo a inattivo quando l'ultimo flusso in esecuzione nella sessione si arresta. Lo stato della sessione viene modificato in scadenza quando il client elimina l'ultimo flusso nella sessione rilasciando tutti i riferimenti all'oggetto stream.

Il programma Sndvol visualizza i controlli volume e disattivazione per le sessioni che si trovano negli stati attivi e inattivi. Quando scade una sessione, Sndvol smette di visualizzare i controlli per tale sessione. Se una sessione è scaduta in precedenza, ma lo stato della sessione viene modificato in attivo (perché un flusso della sessione inizia l'esecuzione) o inattivo (perché un client assegna un nuovo flusso alla sessione), Sndvol riprende a visualizzare i controlli per la sessione.

Il client crea un flusso chiamando il metodo IAudioClient::Initialize . Al momento della creazione di un flusso, il client assegna il flusso a una sessione. Una sessione inizia quando un client assegna il primo flusso alla sessione. Inizialmente, la sessione si trova nello stato inattivo. Lo stato della sessione viene modificato in attivo quando il primo flusso della sessione inizia l'esecuzione. La sessione termina quando un client rilascia il riferimento finale all'ultimo oggetto di flusso rimanente nella sessione.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione audiopolicy.h

Vedi anche

IAudioClient::Initialize

Interfaccia IAudioSessionControl

IMMDevice::Activate