aboutsummaryrefslogtreecommitdiffstats
path: root/distrib/sdl-1.2.15/docs/html/guideaudioexamples.html
diff options
context:
space:
mode:
authorJesse Hall <jessehall@google.com>2012-07-09 11:27:07 -0700
committerJesse Hall <jessehall@google.com>2012-07-22 00:35:08 -0700
commit9682c8870b8ff5e4ac2e4c70b759f791c6f38c1f (patch)
treeded6ee18c4e1f33df235e53615a6d65e2d64f4ef /distrib/sdl-1.2.15/docs/html/guideaudioexamples.html
parent74b55003f76dbca96e4a26d98fe464081ca5341f (diff)
downloadexternal_qemu-9682c8870b8ff5e4ac2e4c70b759f791c6f38c1f.zip
external_qemu-9682c8870b8ff5e4ac2e4c70b759f791c6f38c1f.tar.gz
external_qemu-9682c8870b8ff5e4ac2e4c70b759f791c6f38c1f.tar.bz2
Import SDL release-1.2.15
Change-Id: I505c4aea24325cad475f217db5589814b4c75dbf
Diffstat (limited to 'distrib/sdl-1.2.15/docs/html/guideaudioexamples.html')
-rw-r--r--distrib/sdl-1.2.15/docs/html/guideaudioexamples.html228
1 files changed, 228 insertions, 0 deletions
diff --git a/distrib/sdl-1.2.15/docs/html/guideaudioexamples.html b/distrib/sdl-1.2.15/docs/html/guideaudioexamples.html
new file mode 100644
index 0000000..afb7522
--- /dev/null
+++ b/distrib/sdl-1.2.15/docs/html/guideaudioexamples.html
@@ -0,0 +1,228 @@
+<HTML
+><HEAD
+><TITLE
+>Audio Examples</TITLE
+><META
+NAME="GENERATOR"
+CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
+"><LINK
+REL="HOME"
+TITLE="SDL Library Documentation"
+HREF="index.html"><LINK
+REL="UP"
+TITLE="Examples"
+HREF="guideexamples.html"><LINK
+REL="PREVIOUS"
+TITLE="Event Examples"
+HREF="guideeventexamples.html"><LINK
+REL="NEXT"
+TITLE="CDROM Examples"
+HREF="guidecdromexamples.html"></HEAD
+><BODY
+CLASS="SECT1"
+BGCOLOR="#FFF8DC"
+TEXT="#000000"
+LINK="#0000ee"
+VLINK="#551a8b"
+ALINK="#ff0000"
+><DIV
+CLASS="NAVHEADER"
+><TABLE
+SUMMARY="Header navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TH
+COLSPAN="3"
+ALIGN="center"
+>SDL Library Documentation</TH
+></TR
+><TR
+><TD
+WIDTH="10%"
+ALIGN="left"
+VALIGN="bottom"
+><A
+HREF="guideeventexamples.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="80%"
+ALIGN="center"
+VALIGN="bottom"
+>Chapter 4. Examples</TD
+><TD
+WIDTH="10%"
+ALIGN="right"
+VALIGN="bottom"
+><A
+HREF="guidecdromexamples.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+></TABLE
+><HR
+ALIGN="LEFT"
+WIDTH="100%"></DIV
+><DIV
+CLASS="SECT1"
+><H1
+CLASS="SECT1"
+><A
+NAME="GUIDEAUDIOEXAMPLES"
+></A
+>Audio Examples</H1
+><P
+></P
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN382"
+></A
+>Opening the audio device</H2
+><P
+><PRE
+CLASS="PROGRAMLISTING"
+> SDL_AudioSpec wanted;
+ extern void fill_audio(void *udata, Uint8 *stream, int len);
+
+ /* Set the audio format */
+ wanted.freq = 22050;
+ wanted.format = AUDIO_S16;
+ wanted.channels = 2; /* 1 = mono, 2 = stereo */
+ wanted.samples = 1024; /* Good low-latency value for callback */
+ wanted.callback = fill_audio;
+ wanted.userdata = NULL;
+
+ /* Open the audio device, forcing the desired format */
+ if ( SDL_OpenAudio(&#38;wanted, NULL) &#60; 0 ) {
+ fprintf(stderr, "Couldn't open audio: %s\n", SDL_GetError());
+ return(-1);
+ }
+ return(0);</PRE
+></P
+></DIV
+><DIV
+CLASS="SECT2"
+><H2
+CLASS="SECT2"
+><A
+NAME="AEN386"
+></A
+>Playing audio</H2
+><P
+><PRE
+CLASS="PROGRAMLISTING"
+> static Uint8 *audio_chunk;
+ static Uint32 audio_len;
+ static Uint8 *audio_pos;
+
+ /* The audio function callback takes the following parameters:
+ stream: A pointer to the audio buffer to be filled
+ len: The length (in bytes) of the audio buffer
+ */
+ void fill_audio(void *udata, Uint8 *stream, int len)
+ {
+ /* Only play if we have data left */
+ if ( audio_len == 0 )
+ return;
+
+ /* Mix as much data as possible */
+ len = ( len &#62; audio_len ? audio_len : len );
+ SDL_MixAudio(stream, audio_pos, len, SDL_MIX_MAXVOLUME);
+ audio_pos += len;
+ audio_len -= len;
+ }
+
+ /* Load the audio data ... */
+
+ ;;;;;
+
+ audio_pos = audio_chunk;
+
+ /* Let the callback function play the audio chunk */
+ SDL_PauseAudio(0);
+
+ /* Do some processing */
+
+ ;;;;;
+
+ /* Wait for sound to complete */
+ while ( audio_len &#62; 0 ) {
+ SDL_Delay(100); /* Sleep 1/10 second */
+ }
+ SDL_CloseAudio();</PRE
+></P
+></DIV
+></DIV
+><DIV
+CLASS="NAVFOOTER"
+><HR
+ALIGN="LEFT"
+WIDTH="100%"><TABLE
+SUMMARY="Footer navigation table"
+WIDTH="100%"
+BORDER="0"
+CELLPADDING="0"
+CELLSPACING="0"
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+><A
+HREF="guideeventexamples.html"
+ACCESSKEY="P"
+>Prev</A
+></TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="index.html"
+ACCESSKEY="H"
+>Home</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+><A
+HREF="guidecdromexamples.html"
+ACCESSKEY="N"
+>Next</A
+></TD
+></TR
+><TR
+><TD
+WIDTH="33%"
+ALIGN="left"
+VALIGN="top"
+>Event Examples</TD
+><TD
+WIDTH="34%"
+ALIGN="center"
+VALIGN="top"
+><A
+HREF="guideexamples.html"
+ACCESSKEY="U"
+>Up</A
+></TD
+><TD
+WIDTH="33%"
+ALIGN="right"
+VALIGN="top"
+>CDROM Examples</TD
+></TR
+></TABLE
+></DIV
+></BODY
+></HTML
+> \ No newline at end of file