Wiki Page Content

Differences between revisions 1 and 10 (spanning 9 versions)
Revision 1 as of 2009-12-01 20:24:32
Size: 1510
Editor: SheenaSmith
Comment: create page, add content
Revision 10 as of 2010-10-12 00:55:03
Size: 1477
Editor: SheenaSmith
Comment: update content - pointers, structs
Deletions are marked like this. Additions are marked like this.
Line 18: Line 18:
||'''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||
||'''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 ||
Line 24: Line 24:
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.

This function returns NULL and sets the SDL error message if the wave file cannot be opened, uses an unknown data format, or is corrupt. Call [[SDL_GetError]]() for more information.
<<Include(SDL_LoadWAV_RW, , , from="== Return Value ==", to="== Code Examples")>>
Line 30: Line 28:
You can add your code example here 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);
Line 33: Line 47:
Line 34: Line 49:
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.
<<Include(SDL_LoadWAV_RW, , , from="== Remarks ==", to="== Related Functions ==")>>
Line 39: Line 52:
 .[[SDL_FreeWAV]]
 .[[SDL_LoadWAV_RW]]
 . [[SDL_FreeWAV]]
 . [[SDL_LoadWAV_RW]]
Line 43: Line 56:
[[CategoryAPI]], [[CategoryAudio]] [[CategoryAPI]], CategoryAudio

SDL_LoadWAV

Use this function to load a WAVE file.

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 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

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 */
.
.
/* 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.


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