= SDL_AudioStatus =
An enumeration of audio device states.


== Values ==
{|
|SDL_AUDIO_STOPPED
|audio device is stopped
|-
|SDL_AUDIO_PLAYING
|audio device is playing
|-
|SDL_AUDIO_PAUSED
|audio device is paused
|}

== Code Examples ==
<syntaxhighlight lang='c'>
void printStatus(SDL_AudioDeviceID dev)
{
    switch (SDL_GetAudioDeviceStatus(dev))
    {
        case SDL_AUDIO_STOPPED: printf("stopped\n"); break;
        case SDL_AUDIO_PLAYING: printf("playing\n"); break;
        case SDL_AUDIO_PAUSED: printf("paused\n"); break;
        default: printf("???"); break;
    }
}

// device starts paused
SDL_AudioDeviceID dev;
SDL_AudioSpec desired;
SDL_AudioSpec obtained;
extern void SDLCALL audio_callback(void *userdata, Uint8 * stream, int len);

SDL_zero(desired);
desired.freq = 44100;
desired.format = AUDIO_F32SYS;
desired.channels = 1;
desired.samples = 4096;
desired.callback = audio_callback;
dev = SDL_OpenAudioDevice(NULL, 0, &desired, &obtained, 0);  
if (dev != 0)
{
     printStatus(dev);  // prints "paused"
     SDL_PauseAudioDevice(dev, 0);
     printStatus(dev);  // prints "playing"
     SDL_PauseAudioDevice(dev, 1);
     printStatus(dev);  // prints "paused"
     SDL_CloseAudioDevice(dev);
     printStatus(dev);  // prints "stopped"
}
</syntaxhighlight>

== Remarks ==
Opened devices are always PLAYING or PAUSED in normal circumstances. A failing device may change its status to STOPPED at any time, and closing a device will progress to STOPPED, too. Asking for the state on an unopened or unknown device ID will report STOPPED.

== Related Functions ==
:[[SDL_GetAudioDeviceStatus]]

----
[[CategoryAPI]], [[CategoryAPIEnum]], [[CategoryAudio]]