/[projet1]/public/pc/emulators/caloric/libs_windows/SDL/docs/html/guideaudioexamples.html
Defence Force logotype

Contents of /public/pc/emulators/caloric/libs_windows/SDL/docs/html/guideaudioexamples.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 81 - (show annotations)
Wed May 27 20:33:03 2009 UTC (10 years, 3 months ago) by Jede
File MIME type: text/html
File size: 3795 byte(s)
Ajouts des libs windows
1 <HTML
2 ><HEAD
3 ><TITLE
4 >Audio Examples</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="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
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="guideeventexamples.html"
49 ACCESSKEY="P"
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"
63 ACCESSKEY="N"
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"
77 ></A
78 >Audio Examples</H1
79 ><P
80 ></P
81 ><DIV
82 CLASS="SECT2"
83 ><H2
84 CLASS="SECT2"
85 ><A
86 NAME="AEN382"
87 ></A
88 >Opening the audio device</H2
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(&#38;wanted, NULL) &#60; 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
116 NAME="AEN386"
117 ></A
118 >Playing audio</H2
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 &#62; audio_len ? audio_len : len );
138 SDL_MixAudio(stream, audio_pos, len, SDL_MIX_MAXVOLUME);
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 &#62; 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
169 SUMMARY="Footer navigation table"
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"
181 ACCESSKEY="P"
182 >Prev</A
183 ></TD
184 ><TD
185 WIDTH="34%"
186 ALIGN="center"
187 VALIGN="top"
188 ><A
189 HREF="index.html"
190 ACCESSKEY="H"
191 >Home</A
192 ></TD
193 ><TD
194 WIDTH="33%"
195 ALIGN="right"
196 VALIGN="top"
197 ><A
198 HREF="guidecdromexamples.html"
199 ACCESSKEY="N"
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"
215 ACCESSKEY="U"
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 >

  ViewVC Help
Powered by ViewVC 1.1.26