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 |
---|---|
|
Le paramètre pRetVal a la valeur NULL. |
|
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. |
|
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 |