Wiki Page Content

Revision 7 as of 2013-08-08 04:55:41

Clear message

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

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