diff options
author | Jesse Hall <jessehall@google.com> | 2012-07-09 11:27:07 -0700 |
---|---|---|
committer | Jesse Hall <jessehall@google.com> | 2012-07-22 00:35:08 -0700 |
commit | 9682c8870b8ff5e4ac2e4c70b759f791c6f38c1f (patch) | |
tree | ded6ee18c4e1f33df235e53615a6d65e2d64f4ef /distrib/sdl-1.2.15/docs/html/guideaudioexamples.html | |
parent | 74b55003f76dbca96e4a26d98fe464081ca5341f (diff) | |
download | external_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.html | 228 |
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(&wanted, NULL) < 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 > 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 > 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 |