1 <HTML 2 ><HEAD 3 ><TITLE 4 >SDL_LoadWAV</TITLE 5 ><META 6 NAME="GENERATOR" 7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ 8 "><LINK 9 REL="HOME" 10 TITLE="SDL Library Documentation" 11 HREF="index.html"><LINK 12 REL="UP" 13 TITLE="Audio" 14 HREF="audio.html"><LINK 15 REL="PREVIOUS" 16 TITLE="SDL_GetAudioStatus" 17 HREF="sdlgetaudiostatus.html"><LINK 18 REL="NEXT" 19 TITLE="SDL_FreeWAV" 20 HREF="sdlfreewav.html"></HEAD 21 ><BODY 22 CLASS="REFENTRY" 23 BGCOLOR="#FFF8DC" 24 TEXT="#000000" 25 LINK="#0000ee" 26 VLINK="#551a8b" 27 ALINK="#ff0000" 28 ><DIV 29 CLASS="NAVHEADER" 30 ><TABLE 31 SUMMARY="Header navigation table" 32 WIDTH="100%" 33 BORDER="0" 34 CELLPADDING="0" 35 CELLSPACING="0" 36 ><TR 37 ><TH 38 COLSPAN="3" 39 ALIGN="center" 40 >SDL Library Documentation</TH 41 ></TR 42 ><TR 43 ><TD 44 WIDTH="10%" 45 ALIGN="left" 46 VALIGN="bottom" 47 ><A 48 HREF="sdlgetaudiostatus.html" 49 ACCESSKEY="P" 50 >Prev</A 51 ></TD 52 ><TD 53 WIDTH="80%" 54 ALIGN="center" 55 VALIGN="bottom" 56 ></TD 57 ><TD 58 WIDTH="10%" 59 ALIGN="right" 60 VALIGN="bottom" 61 ><A 62 HREF="sdlfreewav.html" 63 ACCESSKEY="N" 64 >Next</A 65 ></TD 66 ></TR 67 ></TABLE 68 ><HR 69 ALIGN="LEFT" 70 WIDTH="100%"></DIV 71 ><H1 72 ><A 73 NAME="SDLLOADWAV" 74 ></A 75 >SDL_LoadWAV</H1 76 ><DIV 77 CLASS="REFNAMEDIV" 78 ><A 79 NAME="AEN6816" 80 ></A 81 ><H2 82 >Name</H2 83 >SDL_LoadWAV -- Load a WAVE file</DIV 84 ><DIV 85 CLASS="REFSYNOPSISDIV" 86 ><A 87 NAME="AEN6819" 88 ></A 89 ><H2 90 >Synopsis</H2 91 ><DIV 92 CLASS="FUNCSYNOPSIS" 93 ><A 94 NAME="AEN6820" 95 ></A 96 ><P 97 ></P 98 ><PRE 99 CLASS="FUNCSYNOPSISINFO" 100 >#include "SDL.h"</PRE 101 ><P 102 ><CODE 103 ><CODE 104 CLASS="FUNCDEF" 105 >SDL_AudioSpec *<B 106 CLASS="FSFUNC" 107 >SDL_LoadWAV</B 108 ></CODE 109 >(const char *file, SDL_AudioSpec *spec, Uint8 **audio_buf, Uint32 *audio_len);</CODE 110 ></P 111 ><P 112 ></P 113 ></DIV 114 ></DIV 115 ><DIV 116 CLASS="REFSECT1" 117 ><A 118 NAME="AEN6826" 119 ></A 120 ><H2 121 >Description</H2 122 ><P 123 ><TT 124 CLASS="FUNCTION" 125 >SDL_LoadWAV</TT 126 > 127 This function loads a WAVE <TT 128 CLASS="PARAMETER" 129 ><I 130 >file</I 131 ></TT 132 > into memory.</P 133 ><P 134 >If this function succeeds, it returns the given 135 <A 136 HREF="sdlaudiospec.html" 137 ><TT 138 CLASS="FUNCTION" 139 >SDL_AudioSpec</TT 140 ></A 141 >, 142 filled with the audio data format of the wave data, and sets 143 <TT 144 CLASS="PARAMETER" 145 ><I 146 >audio_buf</I 147 ></TT 148 > to a <TT 149 CLASS="FUNCTION" 150 >malloc</TT 151 >'d 152 buffer containing the audio data, and sets <TT 153 CLASS="PARAMETER" 154 ><I 155 >audio_len</I 156 ></TT 157 > 158 to the length of that audio buffer, in bytes. You need to free the audio 159 buffer with <A 160 HREF="sdlfreewav.html" 161 ><TT 162 CLASS="FUNCTION" 163 >SDL_FreeWAV</TT 164 ></A 165 > when you are 166 done with it.</P 167 ><P 168 >This function returns <TT 169 CLASS="LITERAL" 170 >NULL</TT 171 > and sets the SDL 172 error message if the wave file cannot be opened, uses an unknown data format, 173 or is corrupt. Currently raw, MS-ADPCM and IMA-ADPCM WAVE files are supported.</P 174 ></DIV 175 ><DIV 176 CLASS="REFSECT1" 177 ><A 178 NAME="AEN6841" 179 ></A 180 ><H2 181 >Example</H2 182 ><PRE 183 CLASS="PROGRAMLISTING" 184 >SDL_AudioSpec wav_spec; 185 Uint32 wav_length; 186 Uint8 *wav_buffer; 187 188 /* Load the WAV */ 189 if( SDL_LoadWAV("test.wav", &wav_spec, &wav_buffer, &wav_length) == NULL ){ 190 fprintf(stderr, "Could not open test.wav: %s\n", SDL_GetError()); 191 exit(-1); 192 } 193 . 194 . 195 . 196 /* Do stuff with the WAV */ 197 . 198 . 199 /* Free It */ 200 SDL_FreeWAV(wav_buffer);</PRE 201 ></DIV 202 ><DIV 203 CLASS="REFSECT1" 204 ><A 205 NAME="AEN6844" 206 ></A 207 ><H2 208 >See Also</H2 209 ><P 210 ><A 211 HREF="sdlaudiospec.html" 212 ><SPAN 213 CLASS="STRUCTNAME" 214 >SDL_AudioSpec</SPAN 215 ></A 216 >, 217 <A 218 HREF="sdlopenaudio.html" 219 ><TT 220 CLASS="FUNCTION" 221 >SDL_OpenAudio</TT 222 ></A 223 >, 224 <A 225 HREF="sdlfreewav.html" 226 ><TT 227 CLASS="FUNCTION" 228 >SDL_FreeWAV</TT 229 ></A 230 ></P 231 ></DIV 232 ><DIV 233 CLASS="NAVFOOTER" 234 ><HR 235 ALIGN="LEFT" 236 WIDTH="100%"><TABLE 237 SUMMARY="Footer navigation table" 238 WIDTH="100%" 239 BORDER="0" 240 CELLPADDING="0" 241 CELLSPACING="0" 242 ><TR 243 ><TD 244 WIDTH="33%" 245 ALIGN="left" 246 VALIGN="top" 247 ><A 248 HREF="sdlgetaudiostatus.html" 249 ACCESSKEY="P" 250 >Prev</A 251 ></TD 252 ><TD 253 WIDTH="34%" 254 ALIGN="center" 255 VALIGN="top" 256 ><A 257 HREF="index.html" 258 ACCESSKEY="H" 259 >Home</A 260 ></TD 261 ><TD 262 WIDTH="33%" 263 ALIGN="right" 264 VALIGN="top" 265 ><A 266 HREF="sdlfreewav.html" 267 ACCESSKEY="N" 268 >Next</A 269 ></TD 270 ></TR 271 ><TR 272 ><TD 273 WIDTH="33%" 274 ALIGN="left" 275 VALIGN="top" 276 >SDL_GetAudioStatus</TD 277 ><TD 278 WIDTH="34%" 279 ALIGN="center" 280 VALIGN="top" 281 ><A 282 HREF="audio.html" 283 ACCESSKEY="U" 284 >Up</A 285 ></TD 286 ><TD 287 WIDTH="33%" 288 ALIGN="right" 289 VALIGN="top" 290 >SDL_FreeWAV</TD 291 ></TR 292 ></TABLE 293 ></DIV 294 ></BODY 295 ></HTML 296 >