Wiki Page Content

SDL_GetAudioDeviceStatus

Use this function to get the current audio state of an audio device.

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.


CategoryAPI, CategoryAudio

None: SDL_GetAudioDeviceStatus (last edited 2013-08-08 04:55:41 by RyanGordon)

Feedback
Please include your contact information if you'd like to receive a reply.
Submit