Tao.Sdl SDK Documentation

Sdl.SDL_LoadWAV Method 

Load a WAVE file.

[Visual Basic]
Public Shared Function SDL_LoadWAV( _
   ByVal file As String, _
   ByRef spec As IntPtr, _
   ByRef audio_buf As IntPtr, _
   ByRef audio_len As Integer _
) As IntPtr
[C#]
public static IntPtr SDL_LoadWAV(
   string file,
   out IntPtr spec,
   out IntPtr audio_buf,
   out int audio_len
);

Parameters

file
spec
audio_buf
audio_len

Return Value

IntPtr to SDL_AudioApec

Remarks

SDL_LoadWAV This function loads a WAVE file into memory.

If this function succeeds, it returns the given Sdl.SDL_AudioSpec, filled with the audio data format of the wave data, and 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. You need to free the audio buffer with SDL_FreeWAV when you are done with it.

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. Currently raw, MS-ADPCM and IMA-ADPCM WAVE files are supported.

Binds to C-function call in SDL_audio.h:

            #define SDL_LoadWAV(file, spec, audio_buf, audio_len)
            SDL_LoadWAV_RW(SDL_RWFromFile(file, "rb"),1, spec,audio_buf,audio_len)
            SDL_AudioSpec *SDL_LoadWAV(const char *file, SDL_AudioSpec *spec, Uint8 **audio_buf, Uint32 *audio_len);
            

Example

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

See Also

Sdl Class | Tao.Sdl Namespace | Sdl.SDL_AudioSpec | SDL_OpenAudio | SDL_FreeWAV