The AudioSessionState enumeration defines constants that indicate the current state of an audio session.
typedef enum _AudioSessionState
{
AudioSessionStateInactive = 0,
AudioSessionStateActive = 1,
AudioSessionStateExpired = 2
} AudioSessionState;
When a client opens a session by assigning the first stream to the session (by calling the IAudioClient::Initialize method), the initial session state is inactive. The session state changes from inactive to active when a stream in the session begins running (because the client has called the IAudioClient::Start method). The session changes from active to inactive when the client stops the last running stream in the session (by calling the IAudioClient::Stop method). The session state changes to expired when the client destroys the last stream in the session by releasing all references to the stream object.
The system volume-control program, Sndvol, displays volume controls for both active and inactive sessions. Sndvol stops displaying the volume control for a session when the session state changes to expired. For more information about Sndvol, see Audio Sessions.
| Constant | Description |
|---|---|
| AudioSessionStateInactive | The audio session is inactive. (It contains at least one stream, but none of the streams in the session is currently running.) |
| AudioSessionStateActive | The audio session is active. (At least one of the streams in the session is running.) |
| AudioSessionStateExpired | The audio session has expired. (It contains no streams.) |
Header: Declared in audiosessiontypes.h.
Library: Use mmdevapi.lib.