Mercurial > sdl-ios-xcode
annotate docs/html/guideaudioexamples.html @ 4159:a1b03ba2fcd0 SDL-1.2
Updated copyright date
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 08 Dec 2008 00:25:42 +0000 |
parents | 355632dca928 |
children |
rev | line source |
---|---|
0 | 1 <HTML |
2 ><HEAD | |
3 ><TITLE | |
4 >Audio Examples</TITLE | |
5 ><META | |
6 NAME="GENERATOR" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
7 CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ |
0 | 8 "><LINK |
9 REL="HOME" | |
10 TITLE="SDL Library Documentation" | |
11 HREF="index.html"><LINK | |
12 REL="UP" | |
13 TITLE="Examples" | |
14 HREF="guideexamples.html"><LINK | |
15 REL="PREVIOUS" | |
16 TITLE="Event Examples" | |
17 HREF="guideeventexamples.html"><LINK | |
18 REL="NEXT" | |
19 TITLE="CDROM Examples" | |
20 HREF="guidecdromexamples.html"></HEAD | |
21 ><BODY | |
22 CLASS="SECT1" | |
23 BGCOLOR="#FFF8DC" | |
24 TEXT="#000000" | |
25 LINK="#0000ee" | |
26 VLINK="#551a8b" | |
27 ALINK="#ff0000" | |
28 ><DIV | |
29 CLASS="NAVHEADER" | |
30 ><TABLE | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
31 SUMMARY="Header navigation table" |
0 | 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="guideeventexamples.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
49 ACCESSKEY="P" |
0 | 50 >Prev</A |
51 ></TD | |
52 ><TD | |
53 WIDTH="80%" | |
54 ALIGN="center" | |
55 VALIGN="bottom" | |
56 >Chapter 4. Examples</TD | |
57 ><TD | |
58 WIDTH="10%" | |
59 ALIGN="right" | |
60 VALIGN="bottom" | |
61 ><A | |
62 HREF="guidecdromexamples.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
63 ACCESSKEY="N" |
0 | 64 >Next</A |
65 ></TD | |
66 ></TR | |
67 ></TABLE | |
68 ><HR | |
69 ALIGN="LEFT" | |
70 WIDTH="100%"></DIV | |
71 ><DIV | |
72 CLASS="SECT1" | |
73 ><H1 | |
74 CLASS="SECT1" | |
75 ><A | |
76 NAME="GUIDEAUDIOEXAMPLES" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
77 ></A |
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
78 >Audio Examples</H1 |
0 | 79 ><P |
80 ></P | |
81 ><DIV | |
82 CLASS="SECT2" | |
83 ><H2 | |
84 CLASS="SECT2" | |
85 ><A | |
55
55f1f1b3e27d
Added new docs for SDL 1.2.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
86 NAME="AEN382" |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
87 ></A |
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
88 >Opening the audio device</H2 |
0 | 89 ><P |
90 ><PRE | |
91 CLASS="PROGRAMLISTING" | |
92 > SDL_AudioSpec wanted; | |
93 extern void fill_audio(void *udata, Uint8 *stream, int len); | |
94 | |
95 /* Set the audio format */ | |
96 wanted.freq = 22050; | |
97 wanted.format = AUDIO_S16; | |
98 wanted.channels = 2; /* 1 = mono, 2 = stereo */ | |
99 wanted.samples = 1024; /* Good low-latency value for callback */ | |
100 wanted.callback = fill_audio; | |
101 wanted.userdata = NULL; | |
102 | |
103 /* Open the audio device, forcing the desired format */ | |
104 if ( SDL_OpenAudio(&wanted, NULL) < 0 ) { | |
105 fprintf(stderr, "Couldn't open audio: %s\n", SDL_GetError()); | |
106 return(-1); | |
107 } | |
108 return(0);</PRE | |
109 ></P | |
110 ></DIV | |
111 ><DIV | |
112 CLASS="SECT2" | |
113 ><H2 | |
114 CLASS="SECT2" | |
115 ><A | |
55
55f1f1b3e27d
Added new docs for SDL 1.2.1
Sam Lantinga <slouken@lokigames.com>
parents:
0
diff
changeset
|
116 NAME="AEN386" |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
117 ></A |
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
118 >Playing audio</H2 |
0 | 119 ><P |
120 ><PRE | |
121 CLASS="PROGRAMLISTING" | |
122 > static Uint8 *audio_chunk; | |
123 static Uint32 audio_len; | |
124 static Uint8 *audio_pos; | |
125 | |
126 /* The audio function callback takes the following parameters: | |
127 stream: A pointer to the audio buffer to be filled | |
128 len: The length (in bytes) of the audio buffer | |
129 */ | |
130 void fill_audio(void *udata, Uint8 *stream, int len) | |
131 { | |
132 /* Only play if we have data left */ | |
133 if ( audio_len == 0 ) | |
134 return; | |
135 | |
136 /* Mix as much data as possible */ | |
137 len = ( len > audio_len ? audio_len : len ); | |
181
e5bc29de3f0a
Updated from the SDL Documentation Project
Sam Lantinga <slouken@libsdl.org>
parents:
55
diff
changeset
|
138 SDL_MixAudio(stream, audio_pos, len, SDL_MIX_MAXVOLUME); |
0 | 139 audio_pos += len; |
140 audio_len -= len; | |
141 } | |
142 | |
143 /* Load the audio data ... */ | |
144 | |
145 ;;;;; | |
146 | |
147 audio_pos = audio_chunk; | |
148 | |
149 /* Let the callback function play the audio chunk */ | |
150 SDL_PauseAudio(0); | |
151 | |
152 /* Do some processing */ | |
153 | |
154 ;;;;; | |
155 | |
156 /* Wait for sound to complete */ | |
157 while ( audio_len > 0 ) { | |
158 SDL_Delay(100); /* Sleep 1/10 second */ | |
159 } | |
160 SDL_CloseAudio();</PRE | |
161 ></P | |
162 ></DIV | |
163 ></DIV | |
164 ><DIV | |
165 CLASS="NAVFOOTER" | |
166 ><HR | |
167 ALIGN="LEFT" | |
168 WIDTH="100%"><TABLE | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
169 SUMMARY="Footer navigation table" |
0 | 170 WIDTH="100%" |
171 BORDER="0" | |
172 CELLPADDING="0" | |
173 CELLSPACING="0" | |
174 ><TR | |
175 ><TD | |
176 WIDTH="33%" | |
177 ALIGN="left" | |
178 VALIGN="top" | |
179 ><A | |
180 HREF="guideeventexamples.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
181 ACCESSKEY="P" |
0 | 182 >Prev</A |
183 ></TD | |
184 ><TD | |
185 WIDTH="34%" | |
186 ALIGN="center" | |
187 VALIGN="top" | |
188 ><A | |
189 HREF="index.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
190 ACCESSKEY="H" |
0 | 191 >Home</A |
192 ></TD | |
193 ><TD | |
194 WIDTH="33%" | |
195 ALIGN="right" | |
196 VALIGN="top" | |
197 ><A | |
198 HREF="guidecdromexamples.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
199 ACCESSKEY="N" |
0 | 200 >Next</A |
201 ></TD | |
202 ></TR | |
203 ><TR | |
204 ><TD | |
205 WIDTH="33%" | |
206 ALIGN="left" | |
207 VALIGN="top" | |
208 >Event Examples</TD | |
209 ><TD | |
210 WIDTH="34%" | |
211 ALIGN="center" | |
212 VALIGN="top" | |
213 ><A | |
214 HREF="guideexamples.html" | |
803
355632dca928
Updated SDL HTML documentation
Sam Lantinga <slouken@libsdl.org>
parents:
181
diff
changeset
|
215 ACCESSKEY="U" |
0 | 216 >Up</A |
217 ></TD | |
218 ><TD | |
219 WIDTH="33%" | |
220 ALIGN="right" | |
221 VALIGN="top" | |
222 >CDROM Examples</TD | |
223 ></TR | |
224 ></TABLE | |
225 ></DIV | |
226 ></BODY | |
227 ></HTML | |
228 > |