Wiki Page Content

Differences between revisions 10 and 11
Revision 10 as of 2010-10-12 00:55:03
Size: 1477
Editor: SheenaSmith
Comment: update content - pointers, structs
Revision 11 as of 2013-08-08 05:06:16
Size: 1374
Editor: RyanGordon
Comment: Rewritten
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
Use this function to load a WAVE file. This isn't actually a function. SDL_LoadWAV is a convenience macro that calls [[SDL_LoadWAV_RW]]().
Line 11: Line 11:
SDL_AudioSpec* SDL_LoadWAV(const char* filename,
                           SDL_AudioSpec* spec,
                           Uint8** audio_buf,
                           Uint32* audio_len)
#define SDL_LoadWAV(file, spec, audio_buf, audio_len) \
    SDL_LoadWAV_RW(SDL_RWFromFile(file, "rb"),1, spec,audio_buf,audio_len)
Line 18: Line 16:
||'''filename''' ||the name of the file to load ||
||'''spec''' ||,,specifies,, the target audio format; see [[SDL_AudioSpec]] for details ''-or-'' an [[SDL_AudioSpec]] structure representing the desired output format ||
||'''audio_buf''' ||,,specifies,, the audio buffer ||
||'''audio_len''' ||,,specifies,, the length of the audio buffer in bytes ||
||'''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 ||
Line 37: Line 35:
.
.
.

/* Do stuff with the WAV */
.
.
/* Free It */

/* Do stuff with the WAV data. */
Line 49: Line 43:
<<Include(SDL_LoadWAV_RW, , , from="== Remarks ==", to="== Related Functions ==")>> This macro exists so you can pass a filename to [[SDL_LoadWAV_RW]]() without having to deal with the [[CategoryFileIO|RWOPS]] API.
Line 52: Line 46:
 . [[SDL_LoadWAV_RW]]
Line 53: Line 48:
 . [[SDL_LoadWAV_RW]]

SDL_LoadWAV

This isn't actually a function. SDL_LoadWAV is a convenience macro that calls SDL_LoadWAV_RW().

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());
  exit(-1);
}

/* Do stuff with the WAV data. */

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.


CategoryAPI, CategoryAudio

None: SDL_LoadWAV (last edited 2018-10-30 02:31:49 by RyanGordon)

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