Méthode IAudioSessionControl ::GetState (audiopolicy.h)

La méthode GetState récupère l’état actuel de la session audio.

Syntaxe

HRESULT GetState(
  [out] AudioSessionState *pRetVal
);

Paramètres

[out] pRetVal

Pointeur vers une variable dans laquelle la méthode écrit l’état de session actuel. L’état doit être l’une des valeurs d’énumération AudioSessionState suivantes :

AudioSessionStateActive

AudioSessionStateInactive

AudioSessionStateExpired

Ces valeurs indiquent que l’état de session est actif, inactif ou expiré, respectivement. Pour plus d'informations, consultez la section Notes.

Valeur retournée

Si la méthode réussit, retourne S_OK. En cas d’échec, les codes de retour possibles incluent, sans s’y limiter, les valeurs indiquées dans le tableau suivant.

Code de retour Description
E_POINTER
Le paramètre pRetVal a la valeur NULL.
AUDCLNT_E_DEVICE_INVALIDATED
Le périphérique de point de terminaison audio a été débranché, ou le matériel audio ou les ressources matérielles associées ont été reconfigurés, désactivés, supprimés ou autrement indisponibles.
AUDCLNT_E_SERVICE_NOT_RUNNING
Le service audio Windows n’est pas en cours d’exécution.

Remarques

Cette méthode indique si l’état de la session est actif, inactif ou expiré. L’état est actif si la session a un ou plusieurs flux en cours d’exécution. L’état passe d’actif à inactif lorsque le dernier flux en cours d’exécution dans la session s’arrête. L’état de session devient expiré lorsque le client détruit le dernier flux de la session en libérant toutes les références à l’objet stream.

Le programme Sndvol affiche les contrôles de volume et de mise en sourdine pour les sessions qui sont à l’état actif et inactif. Lorsqu’une session expire, Sndvol cesse d’afficher les contrôles de cette session. Si une session a déjà expiré, mais que l’état de la session passe à actif (car un flux de la session commence à s’exécuter) ou inactif (parce qu’un client affecte un nouveau flux à la session), Sndvol reprend l’affichage des contrôles de la session.

Le client crée un flux en appelant la méthode IAudioClient ::Initialize . Au moment où il crée un flux, le client affecte le flux à une session. Une session commence lorsqu’un client affecte le premier flux à la session. Initialement, la session est à l’état inactif. L’état de la session devient actif lorsque le premier flux de la session commence à s’exécuter. La session se termine lorsqu’un client libère la référence finale au dernier objet de flux restant dans la session.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête audiopolicy.h

Voir aussi

IAudioClient ::Initialize

IAudioSessionControl, interface

IMMDevice ::Activate