Use this function to load a WAVE from a file.
const char* file,
SDL_AudioSpec* SDL_LoadWAV(
SDL_AudioSpec* spec,
Uint8** audio_buf, Uint32* audio_len)
file |
the name of the file to load |
spec |
an SDL_AudioSpec structure that will be filled in with the wave file's format details |
audio_buf |
the audio buffer |
audio_len |
the length of the audio buffer in bytes |
<<Include(SDL_LoadWAV_RW, , , from="== Return Value ==", to="== Code Examples")>>
SDL_AudioSpec wav_spec;
Uint32 wav_length;
Uint8 *wav_buffer;
/* Load the WAV */
if (SDL_LoadWAV("test.wav", &wav_spec, &wav_buffer, &wav_length) == NULL) {
"Could not open test.wav: %s\n", SDL_GetError());
fprintf(stderr, else {
} /* Do stuff with the WAV data, and then... */
SDL_free(wav_buffer); }
SDL_LoadWAV is a convenience macro that calls SDL_LoadWAV_RW().
This macro exists so you can pass a filename to SDL_LoadWAV_RW() without having to deal with the RWops API.
CategoryAPI, CategoryAudio