|
1 <HTML |
|
2 ><HEAD |
|
3 ><TITLE |
|
4 >SDL_AudioSpec</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="Audio" |
|
17 HREF="audio.html"><LINK |
|
18 REL="NEXT" |
|
19 TITLE="SDL_OpenAudio" |
|
20 HREF="sdlopenaudio.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="audio.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="sdlopenaudio.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="SDLAUDIOSPEC" |
|
74 ></A |
|
75 >SDL_AudioSpec</H1 |
|
76 ><DIV |
|
77 CLASS="REFNAMEDIV" |
|
78 ><A |
|
79 NAME="AEN6507" |
|
80 ></A |
|
81 ><H2 |
|
82 >Name</H2 |
|
83 >SDL_AudioSpec -- Audio Specification Structure</DIV |
|
84 ><DIV |
|
85 CLASS="REFSECT1" |
|
86 ><A |
|
87 NAME="AEN6510" |
|
88 ></A |
|
89 ><H2 |
|
90 >Structure Definition</H2 |
|
91 ><PRE |
|
92 CLASS="PROGRAMLISTING" |
|
93 >typedef struct{ |
|
94 int freq; |
|
95 Uint16 format; |
|
96 Uint8 channels; |
|
97 Uint8 silence; |
|
98 Uint16 samples; |
|
99 Uint32 size; |
|
100 void (*callback)(void *userdata, Uint8 *stream, int len); |
|
101 void *userdata; |
|
102 } SDL_AudioSpec;</PRE |
|
103 ></DIV |
|
104 ><DIV |
|
105 CLASS="REFSECT1" |
|
106 ><A |
|
107 NAME="AEN6513" |
|
108 ></A |
|
109 ><H2 |
|
110 >Structure Data</H2 |
|
111 ><DIV |
|
112 CLASS="INFORMALTABLE" |
|
113 ><A |
|
114 NAME="AEN6515" |
|
115 ></A |
|
116 ><P |
|
117 ></P |
|
118 ><TABLE |
|
119 BORDER="0" |
|
120 CLASS="CALSTABLE" |
|
121 ><TBODY |
|
122 ><TR |
|
123 ><TD |
|
124 ALIGN="LEFT" |
|
125 VALIGN="TOP" |
|
126 ><TT |
|
127 CLASS="STRUCTFIELD" |
|
128 ><I |
|
129 >freq</I |
|
130 ></TT |
|
131 ></TD |
|
132 ><TD |
|
133 ALIGN="LEFT" |
|
134 VALIGN="TOP" |
|
135 >Audio frequency in samples per second</TD |
|
136 ></TR |
|
137 ><TR |
|
138 ><TD |
|
139 ALIGN="LEFT" |
|
140 VALIGN="TOP" |
|
141 ><TT |
|
142 CLASS="STRUCTFIELD" |
|
143 ><I |
|
144 >format</I |
|
145 ></TT |
|
146 ></TD |
|
147 ><TD |
|
148 ALIGN="LEFT" |
|
149 VALIGN="TOP" |
|
150 >Audio data format</TD |
|
151 ></TR |
|
152 ><TR |
|
153 ><TD |
|
154 ALIGN="LEFT" |
|
155 VALIGN="TOP" |
|
156 ><TT |
|
157 CLASS="STRUCTFIELD" |
|
158 ><I |
|
159 >channels</I |
|
160 ></TT |
|
161 ></TD |
|
162 ><TD |
|
163 ALIGN="LEFT" |
|
164 VALIGN="TOP" |
|
165 >Number of channels: 1 mono, 2 stereo</TD |
|
166 ></TR |
|
167 ><TR |
|
168 ><TD |
|
169 ALIGN="LEFT" |
|
170 VALIGN="TOP" |
|
171 ><TT |
|
172 CLASS="STRUCTFIELD" |
|
173 ><I |
|
174 >silence</I |
|
175 ></TT |
|
176 ></TD |
|
177 ><TD |
|
178 ALIGN="LEFT" |
|
179 VALIGN="TOP" |
|
180 >Audio buffer silence value (calculated)</TD |
|
181 ></TR |
|
182 ><TR |
|
183 ><TD |
|
184 ALIGN="LEFT" |
|
185 VALIGN="TOP" |
|
186 ><TT |
|
187 CLASS="STRUCTFIELD" |
|
188 ><I |
|
189 >samples</I |
|
190 ></TT |
|
191 ></TD |
|
192 ><TD |
|
193 ALIGN="LEFT" |
|
194 VALIGN="TOP" |
|
195 >Audio buffer size in samples</TD |
|
196 ></TR |
|
197 ><TR |
|
198 ><TD |
|
199 ALIGN="LEFT" |
|
200 VALIGN="TOP" |
|
201 ><TT |
|
202 CLASS="STRUCTFIELD" |
|
203 ><I |
|
204 >size</I |
|
205 ></TT |
|
206 ></TD |
|
207 ><TD |
|
208 ALIGN="LEFT" |
|
209 VALIGN="TOP" |
|
210 >Audio buffer size in bytes (calculated)</TD |
|
211 ></TR |
|
212 ><TR |
|
213 ><TD |
|
214 ALIGN="LEFT" |
|
215 VALIGN="TOP" |
|
216 ><TT |
|
217 CLASS="STRUCTFIELD" |
|
218 ><I |
|
219 >callback(..)</I |
|
220 ></TT |
|
221 ></TD |
|
222 ><TD |
|
223 ALIGN="LEFT" |
|
224 VALIGN="TOP" |
|
225 >Callback function for filling the audio buffer</TD |
|
226 ></TR |
|
227 ><TR |
|
228 ><TD |
|
229 ALIGN="LEFT" |
|
230 VALIGN="TOP" |
|
231 ><TT |
|
232 CLASS="STRUCTFIELD" |
|
233 ><I |
|
234 >userdata</I |
|
235 ></TT |
|
236 ></TD |
|
237 ><TD |
|
238 ALIGN="LEFT" |
|
239 VALIGN="TOP" |
|
240 >Pointer the user data which is passed to the callback function</TD |
|
241 ></TR |
|
242 ></TBODY |
|
243 ></TABLE |
|
244 ><P |
|
245 ></P |
|
246 ></DIV |
|
247 ></DIV |
|
248 ><DIV |
|
249 CLASS="REFSECT1" |
|
250 ><A |
|
251 NAME="AEN6550" |
|
252 ></A |
|
253 ><H2 |
|
254 >Description</H2 |
|
255 ><P |
|
256 >The <SPAN |
|
257 CLASS="STRUCTNAME" |
|
258 >SDL_AudioSpec</SPAN |
|
259 > structure is used to describe the format of some audio data. This structure is used by <A |
|
260 HREF="sdlopenaudio.html" |
|
261 ><TT |
|
262 CLASS="FUNCTION" |
|
263 >SDL_OpenAudio</TT |
|
264 ></A |
|
265 > and <A |
|
266 HREF="sdlloadwav.html" |
|
267 ><TT |
|
268 CLASS="FUNCTION" |
|
269 >SDL_LoadWAV</TT |
|
270 ></A |
|
271 >. While all fields are used by <TT |
|
272 CLASS="FUNCTION" |
|
273 >SDL_OpenAudio</TT |
|
274 > only <TT |
|
275 CLASS="STRUCTFIELD" |
|
276 ><I |
|
277 >freq</I |
|
278 ></TT |
|
279 >, <TT |
|
280 CLASS="STRUCTFIELD" |
|
281 ><I |
|
282 >format</I |
|
283 ></TT |
|
284 >, <TT |
|
285 CLASS="STRUCTFIELD" |
|
286 ><I |
|
287 >samples</I |
|
288 ></TT |
|
289 > and <TT |
|
290 CLASS="STRUCTFIELD" |
|
291 ><I |
|
292 >channels</I |
|
293 ></TT |
|
294 > are used by <TT |
|
295 CLASS="FUNCTION" |
|
296 >SDL_LoadWAV</TT |
|
297 >. We will detail these common members here.</P |
|
298 ><DIV |
|
299 CLASS="INFORMALTABLE" |
|
300 ><A |
|
301 NAME="AEN6564" |
|
302 ></A |
|
303 ><P |
|
304 ></P |
|
305 ><TABLE |
|
306 BORDER="0" |
|
307 CLASS="CALSTABLE" |
|
308 ><TBODY |
|
309 ><TR |
|
310 ><TD |
|
311 ALIGN="LEFT" |
|
312 VALIGN="TOP" |
|
313 ><TT |
|
314 CLASS="STRUCTFIELD" |
|
315 ><I |
|
316 >freq</I |
|
317 ></TT |
|
318 ></TD |
|
319 ><TD |
|
320 ALIGN="LEFT" |
|
321 VALIGN="TOP" |
|
322 ><P |
|
323 >The number of samples sent to the sound device every second. Common values are 11025, 22050 and 44100. The higher the better.</P |
|
324 ></TD |
|
325 ></TR |
|
326 ><TR |
|
327 ><TD |
|
328 ALIGN="LEFT" |
|
329 VALIGN="TOP" |
|
330 ><TT |
|
331 CLASS="STRUCTFIELD" |
|
332 ><I |
|
333 >format</I |
|
334 ></TT |
|
335 ></TD |
|
336 ><TD |
|
337 ALIGN="LEFT" |
|
338 VALIGN="TOP" |
|
339 ><P |
|
340 >Specifies the size and type of each sample element |
|
341 <P |
|
342 ></P |
|
343 ><DIV |
|
344 CLASS="VARIABLELIST" |
|
345 ><DL |
|
346 ><DT |
|
347 ><TT |
|
348 CLASS="LITERAL" |
|
349 >AUDIO_U8</TT |
|
350 ></DT |
|
351 ><DD |
|
352 ><P |
|
353 >Unsigned 8-bit samples</P |
|
354 ></DD |
|
355 ><DT |
|
356 ><TT |
|
357 CLASS="LITERAL" |
|
358 >AUDIO_S8</TT |
|
359 ></DT |
|
360 ><DD |
|
361 ><P |
|
362 >Signed 8-bit samples</P |
|
363 ></DD |
|
364 ><DT |
|
365 ><TT |
|
366 CLASS="LITERAL" |
|
367 >AUDIO_U16</TT |
|
368 > or <TT |
|
369 CLASS="LITERAL" |
|
370 >AUDIO_U16LSB</TT |
|
371 ></DT |
|
372 ><DD |
|
373 ><P |
|
374 >Unsigned 16-bit little-endian samples</P |
|
375 ></DD |
|
376 ><DT |
|
377 ><TT |
|
378 CLASS="LITERAL" |
|
379 >AUDIO_S16</TT |
|
380 > or <TT |
|
381 CLASS="LITERAL" |
|
382 >AUDIO_S16LSB</TT |
|
383 ></DT |
|
384 ><DD |
|
385 ><P |
|
386 >Signed 16-bit little-endian samples</P |
|
387 ></DD |
|
388 ><DT |
|
389 ><TT |
|
390 CLASS="LITERAL" |
|
391 >AUDIO_U16MSB</TT |
|
392 ></DT |
|
393 ><DD |
|
394 ><P |
|
395 >Unsigned 16-bit big-endian samples</P |
|
396 ></DD |
|
397 ><DT |
|
398 ><TT |
|
399 CLASS="LITERAL" |
|
400 >AUDIO_S16MSB</TT |
|
401 ></DT |
|
402 ><DD |
|
403 ><P |
|
404 >Signed 16-bit big-endian samples</P |
|
405 ></DD |
|
406 ><DT |
|
407 ><TT |
|
408 CLASS="LITERAL" |
|
409 >AUDIO_U16SYS</TT |
|
410 ></DT |
|
411 ><DD |
|
412 ><P |
|
413 >Either <TT |
|
414 CLASS="LITERAL" |
|
415 >AUDIO_U16LSB</TT |
|
416 > or <TT |
|
417 CLASS="LITERAL" |
|
418 >AUDIO_U16MSB</TT |
|
419 > depending on you systems endianness</P |
|
420 ></DD |
|
421 ><DT |
|
422 ><TT |
|
423 CLASS="LITERAL" |
|
424 >AUDIO_S16SYS</TT |
|
425 ></DT |
|
426 ><DD |
|
427 ><P |
|
428 >Either <TT |
|
429 CLASS="LITERAL" |
|
430 >AUDIO_S16LSB</TT |
|
431 > or <TT |
|
432 CLASS="LITERAL" |
|
433 >AUDIO_S16MSB</TT |
|
434 > depending on you systems endianness</P |
|
435 ></DD |
|
436 ></DL |
|
437 ></DIV |
|
438 ></P |
|
439 ></TD |
|
440 ></TR |
|
441 ><TR |
|
442 ><TD |
|
443 ALIGN="LEFT" |
|
444 VALIGN="TOP" |
|
445 ><TT |
|
446 CLASS="STRUCTFIELD" |
|
447 ><I |
|
448 >channels</I |
|
449 ></TT |
|
450 ></TD |
|
451 ><TD |
|
452 ALIGN="LEFT" |
|
453 VALIGN="TOP" |
|
454 >The number of seperate sound channels. 1 is mono (single channel), 2 is stereo (dual channel).</TD |
|
455 ></TR |
|
456 ><TR |
|
457 ><TD |
|
458 ALIGN="LEFT" |
|
459 VALIGN="TOP" |
|
460 ><TT |
|
461 CLASS="STRUCTFIELD" |
|
462 ><I |
|
463 >samples</I |
|
464 ></TT |
|
465 ></TD |
|
466 ><TD |
|
467 ALIGN="LEFT" |
|
468 VALIGN="TOP" |
|
469 >When used with <A |
|
470 HREF="sdlopenaudio.html" |
|
471 ><TT |
|
472 CLASS="FUNCTION" |
|
473 >SDL_OpenAudio</TT |
|
474 ></A |
|
475 > this refers to the size of the audio buffer in samples. A sample a chunk of audio data of the size specified in <TT |
|
476 CLASS="PARAMETER" |
|
477 ><I |
|
478 >format</I |
|
479 ></TT |
|
480 > mulitplied by the number of channels. When the <SPAN |
|
481 CLASS="STRUCTNAME" |
|
482 >SDL_AudioSpec</SPAN |
|
483 > is used with <A |
|
484 HREF="sdlloadwav.html" |
|
485 ><TT |
|
486 CLASS="FUNCTION" |
|
487 >SDL_LoadWAV</TT |
|
488 ></A |
|
489 > <TT |
|
490 CLASS="STRUCTFIELD" |
|
491 ><I |
|
492 >samples</I |
|
493 ></TT |
|
494 > is set to 4096.</TD |
|
495 ></TR |
|
496 ></TBODY |
|
497 ></TABLE |
|
498 ><P |
|
499 ></P |
|
500 ></DIV |
|
501 ></DIV |
|
502 ><DIV |
|
503 CLASS="REFSECT1" |
|
504 ><A |
|
505 NAME="AEN6639" |
|
506 ></A |
|
507 ><H2 |
|
508 >See Also</H2 |
|
509 ><P |
|
510 ><A |
|
511 HREF="sdlopenaudio.html" |
|
512 ><TT |
|
513 CLASS="FUNCTION" |
|
514 >SDL_OpenAudio</TT |
|
515 ></A |
|
516 >, |
|
517 <A |
|
518 HREF="sdlloadwav.html" |
|
519 ><TT |
|
520 CLASS="FUNCTION" |
|
521 >SDL_LoadWAV</TT |
|
522 ></A |
|
523 ></P |
|
524 ></DIV |
|
525 ><DIV |
|
526 CLASS="NAVFOOTER" |
|
527 ><HR |
|
528 ALIGN="LEFT" |
|
529 WIDTH="100%"><TABLE |
|
530 SUMMARY="Footer navigation table" |
|
531 WIDTH="100%" |
|
532 BORDER="0" |
|
533 CELLPADDING="0" |
|
534 CELLSPACING="0" |
|
535 ><TR |
|
536 ><TD |
|
537 WIDTH="33%" |
|
538 ALIGN="left" |
|
539 VALIGN="top" |
|
540 ><A |
|
541 HREF="audio.html" |
|
542 ACCESSKEY="P" |
|
543 >Prev</A |
|
544 ></TD |
|
545 ><TD |
|
546 WIDTH="34%" |
|
547 ALIGN="center" |
|
548 VALIGN="top" |
|
549 ><A |
|
550 HREF="index.html" |
|
551 ACCESSKEY="H" |
|
552 >Home</A |
|
553 ></TD |
|
554 ><TD |
|
555 WIDTH="33%" |
|
556 ALIGN="right" |
|
557 VALIGN="top" |
|
558 ><A |
|
559 HREF="sdlopenaudio.html" |
|
560 ACCESSKEY="N" |
|
561 >Next</A |
|
562 ></TD |
|
563 ></TR |
|
564 ><TR |
|
565 ><TD |
|
566 WIDTH="33%" |
|
567 ALIGN="left" |
|
568 VALIGN="top" |
|
569 >Audio</TD |
|
570 ><TD |
|
571 WIDTH="34%" |
|
572 ALIGN="center" |
|
573 VALIGN="top" |
|
574 ><A |
|
575 HREF="audio.html" |
|
576 ACCESSKEY="U" |
|
577 >Up</A |
|
578 ></TD |
|
579 ><TD |
|
580 WIDTH="33%" |
|
581 ALIGN="right" |
|
582 VALIGN="top" |
|
583 >SDL_OpenAudio</TD |
|
584 ></TR |
|
585 ></TABLE |
|
586 ></DIV |
|
587 ></BODY |
|
588 ></HTML |
|
589 > |