|
Size: 2716
Comment: update content (old wiki)
|
Size: 1890
Comment: update content (w/ Sam)
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 12: | Line 12: |
| <<Color2(green,The param '''filename''' appears to be incorrect and should be replaced by '''file'''. But the second code box represents what the current header provides for this function which is slightly different.)>> |
|
| Line 20: | Line 18: |
| {{{#!highlight cpp SDL_LoadWAV(file, spec, audio_buf, audio_len) \ SDL_LoadWAV_RW(SDL_RWFromFile(file, "rb"),1, spec,audio_buf,audio_len) }}} |
|
| Line 30: | Line 25: |
| Line 32: | Line 26: |
| <<Color2(green,Should the pointers on the params in the following paragraph be removed for formatting consistency? They are present in the header so they are included here. <<BR>>NOTE that all of the following is listed for SDL_LoadWAV_RW not SDL_LoadWAV in the header but it is also listed for SDL_LoadWAV in the old wiki so it may or may not apply.)>> If this function succeeds, it returns the given [[SDL_AudioSpec]], filled with the audio data format of the wave data, sets *'''audio_buf''' to a malloc()'d buffer containing the audio data, and sets *'''audio_len''' to the length of that audio buffer, in bytes. |
If this function succeeds, it returns the given [[SDL_AudioSpec]], filled with the audio data format of the wave data, fils '''audio_buf''' with a pointer to a malloc()'d buffer containing the audio data, and fills '''audio_len''' with a pointer to the length of that audio buffer, in bytes. |
| Line 39: | Line 31: |
| *<<BR>><<Color2(green,Does this example still apply in 1.3? Should it be added as an include to SDL_FreeWAV?)>> |
|
| Line 60: | Line 50: |
| <<BR>>* |
DRAFT |
SDL_LoadWAV
Use this function to load a WAVE file.
Contents
Syntax
SDL_AudioSpec* SDL_LoadWAV(const char* filename,
SDL_AudioSpec* spec,
Uint8** audio_buf,
Uint32* audio_len)
Function Parameters
filename |
the name of the file to load |
spec |
specifies the target audio format; see SDL_AudioSpec for more info |
audio_buf |
specifies the audio buffer |
audio_len |
specifies the length of the audio buffer in bytes |
Return Value
If this function succeeds, it returns the given SDL_AudioSpec, filled with the audio data format of the wave data, fils audio_buf with a pointer to a malloc()'d buffer containing the audio data, and fills audio_len with a pointer to 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.
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());
exit(-1);
}
.
.
.
/* Do stuff with the WAV */
.
.
/* Free It */
SDL_FreeWAV(wav_buffer);
Remarks
Currently raw and MS-ADPCM WAVE files are supported.
You need to free the audio buffer with SDL_FreeWAV() when you are done with it.
