SDL_GetAudioDeviceStatus
Use this function to get the current audio state of an audio device.
Contents
Syntax
SDL_AudioStatus SDL_GetAudioDeviceStatus(SDL_AudioDeviceID dev)
Function Parameters
dev |
the ID of an audio device previously opened with SDL_OpenAudioDevice() |
Return Value
Returns the SDL_AudioStatus of the specified audio device which may be one of the following:
SDL_AUDIO_STOPPED |
audio device is stopped |
SDL_AUDIO_PLAYING |
audio device is playing |
SDL_AUDIO_PAUSED |
audio device is paused |
Code Examples
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;
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"
}
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.