Use this function to pause audio playback on a specified device.
int SDL_PauseAudioDevice(SDL_AudioDeviceID dev);
|dev||a device opened by SDL_OpenAudioDevice()|
Returns 0 on success or a negative error code on failure; call SDL_GetError() for more information.
This function pauses audio processing for a given device. Any bound audio streams will not progress, and no audio will be generated. Pausing one device does not prevent other unpaused devices from running.
Unlike in SDL2, audio devices start in an unpaused state, since an app has to bind a stream before any audio will flow. Pausing a paused device is a legal no-op.
Pausing a device can be useful to halt all audio without unbinding all the audio streams. This might be useful while a game is paused, or a level is loading, etc.
Physical devices can not be paused or unpaused, only logical devices created through SDL_OpenAudioDevice() can be.
It is safe to call this function from any thread.
This function is available since SDL 3.0.0.
extern SDL_AudioDeviceID devid; // audio callback is stopped when this returns. SDL_PauseAudioDevice(devid); 5000); // audio device plays silence for 5 seconds SDL_Delay(// audio callback starts running again.SDL_PlayAudioDevice(devid);