|
Size: 1370
Comment: typo
|
Size: 1385
Comment: example tweak
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 31: | Line 31: |
| if( SDL_LoadWAV("test.wav", &wav_spec, &wav_buffer, &wav_length) == NULL ){ fprintf(stderr, "Could not open test.wav: %s\n", SDL_GetError()); exit(-1); |
if (SDL_LoadWAV("test.wav", &wav_spec, &wav_buffer, &wav_length) == NULL) { fprintf(stderr, "Could not open test.wav: %s\n", SDL_GetError()); } else { /* Do stuff with the WAV data, and then... */ SDL_FreeWAV(wav_buffer); |
| Line 35: | Line 37: |
/* Do stuff with the WAV data. */ SDL_FreeWAV(wav_buffer); |
SDL_LoadWAV
This isn't actually a function. SDL_LoadWAV is a convenience macro that calls SDL_LoadWAV_RW().
Contents
Syntax
#define SDL_LoadWAV(file, spec, audio_buf, audio_len) \
SDL_LoadWAV_RW(SDL_RWFromFile(file, "rb"),1, spec,audio_buf,audio_len)
Function Parameters
file |
the name of the file to load |
spec |
an SDL_AudioSpec structure representing the desired output format |
audio_buf |
the audio buffer |
audio_len |
the length of the audio buffer in bytes |
Return Value
This function, if successfully called, returns a pointer to an SDL_AudioSpec structure filled with the audio data format of the wave source data. audio_buf is filled with a pointer to an allocated buffer containing the audio data, and audio_len is filled with the length of that audio buffer in bytes.
This function returns NULL if the wave file cannot be opened, uses an unknown data format, or is corrupt; call SDL_GetError() for more information.
When the application is done with the data returned in audio_buf, it should call SDL_FreeWAV() to dispose of it.
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) {
fprintf(stderr, "Could not open test.wav: %s\n", SDL_GetError());
} else {
/* Do stuff with the WAV data, and then... */
SDL_FreeWAV(wav_buffer);
}
Remarks
This macro exists so you can pass a filename to SDL_LoadWAV_RW() without having to deal with the RWOPS API.
