<html> <head><title>ClanLib Reference: CL_Streamed_WaveSample</title></head> <body text=black link=blue vlink=#800080 bgcolor=white topmargin=0 leftmargin=0> <table border=0 cellspacing=0 cellpadding=0 width=100%><tr><td><img border=0 src="../images/eyeheader-main-purple-a.gif" alt="ClanSoft logo" width=525 height=96></td></tr> <tr bgcolor=#dadada><td align=left valign=top><img border=0 src="../images/eyeheader-main-purple-b.gif" alt="ClanSoft logo" width=190 height=14></td><td align=right valign=top><img border=0 src="../images/clanlib_light.gif" width=42 height=14></td></tr></table> <table align=center border=0 cellspacing=10> <tr> <td><a href="entire_class_index.html">Entire Class Index</a></td> <td><a href="class_index.html">Main Class Index</a></td> <td><a href="cross_index.html">Cross Index</a></td> <td><a href="global_index.html">Global Index</a></td> </table><h1 align=center>Class CL_Streamed_WaveSample</h1><p> <b> Streamed sample in wave (.wav) format.</b><br> Contained in: <a href="global_index.html">global</a><br> Derived from: <a href="CL_StreamSoundProvider.html">CL_StreamSoundProvider</a> <br> Derived by: <i>none</i> <br>Group: Sound (Sound Providers) <p> #include <ClanLib/sound.h> <p> <hr noshade> <table border=0> <tr><td colspan=3><h3>public function member index:</h3></td> <tr valign=top><td align=left><h3>Construction:</h3></td> <tr valign=top><td align=right><tt><tt>static</tt> <a href="CL_SoundBuffer.html"><tt><font color=navy><b>CL_SoundBuffer</b></font></tt></a>*</tt> </td><td align=right><a href="CL_Streamed_WaveSample.html#1407"><tt><font color=blue><b>create</b></font></tt></a></td><td><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>filename</font></tt>, <a href="CL_InputSourceProvider.html"><tt><font color=navy><b>CL_InputSourceProvider</b></font></tt></a>* <tt><font color=blue>inputprovider</font></tt> = NULL, <tt><font color=purple>bool</font></tt> <tt><font color=blue>looped</font></tt> = false)</tt>;</td> <tr valign=top><td align=right><tt></tt> </td><td align=right><a href="CL_Streamed_WaveSample.html#1408"><tt><font color=blue><b>CL_Streamed_WaveSample</b></font></tt></a></td><td><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>filename</font></tt>, <a href="CL_InputSourceProvider.html"><tt><font color=navy><b>CL_InputSourceProvider</b></font></tt></a>* <tt><font color=blue>inputprovider</font></tt> = NULL, <tt><font color=purple>bool</font></tt> <tt><font color=blue>looped</font></tt> = false)</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> </tt> </td><td align=right><a href="CL_Streamed_WaveSample.html#1409"><tt><font color=blue><b>~CL_Streamed_WaveSample</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=left><h3>Operations:</h3></td> <tr valign=top><td align=right><tt><tt>virtual</tt> <a href="CL_StreamSoundProvider_Session.html"><tt><font color=navy><b>CL_StreamSoundProvider_Session</b></font></tt></a>*</tt> </td><td align=right><a href="CL_Streamed_WaveSample.html#1410"><tt><font color=blue><b>begin_session</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_Streamed_WaveSample.html#1411"><tt><font color=blue><b>end_session</b></font></tt></a></td><td><tt>(<a href="CL_StreamSoundProvider_Session.html"><tt><font color=navy><b>CL_StreamSoundProvider_Session</b></font></tt></a>* <tt><font color=blue>session</font></tt>)</tt>;</td> <tr><td> </td></table> <hr noshade> <h2>Description:</h2> This class providers playback support for wave (.wav) samples.<br><br> Unlike <a href="CL_Sample.html">CL_Sample</a>, this class doesn't load the entire PCM stream into memory. Instead it slowly loads it from disk as the data is needed. With very large samples, this is a very good idea.<br><br> If the sample is small and used a lot, you should consider using <a href="CL_Sample.html">CL_Sample</a> instead.<br> See Also - <a href="CL_Sample.html">CL_Sample</a> - The static wave sample provider.<br> See Also - CL_Sample_Raw - The static raw sample provider.<br> See Also - <a href="CL_Streamed_RawSample.html">CL_Streamed_RawSample</a> - The streamed raw sample provider.<br> See Also - <a href="CL_SoundBuffer.html">CL_SoundBuffer</a> - Sound playback class in ClanLib.<br> See Also - <a href="CL_StreamSoundProvider.html">CL_StreamSoundProvider</a> - Streamed sound provider interface.<br> See Also - <a href="CL_StaticSoundProvider.html">CL_StaticSoundProvider</a> - Static sound provider interface.<br><p> <hr noshade> <h2>Function Member Descriptions:</h2> <a name="1408"><font size=+1><b>CL_Streamed_WaveSample::CL_Streamed_WaveSample</b></font></a> - Constructs an instance of this class.<br><tt></tt> <a href="CL_Streamed_WaveSample.html#1408"><tt><font color=blue><b>CL_Streamed_WaveSample</b></font></tt></a><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>filename</font></tt>, <a href="CL_InputSourceProvider.html"><tt><font color=navy><b>CL_InputSourceProvider</b></font></tt></a>* <tt><font color=blue>inputprovider</font></tt> = NULL, <tt><font color=purple>bool</font></tt> <tt><font color=blue>looped</font></tt> = false)</tt>;<br><blockquote> filename - Filename of the raw PCM stream.<br> frequency - Default playback frequency.<br> inputprovider - Input source (datafile, regular file). If NULL<br> it defaults to a regular file.<br> looped - True if the streamed should be looped (stream never ends).</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="1410"><font size=+1><b>CL_Streamed_WaveSample::begin_session</b></font></a> - Called by the sound implementation when a session is begun.<br><tt><tt>virtual</tt> <a href="CL_StreamSoundProvider_Session.html"><tt><font color=navy><b>CL_StreamSoundProvider_Session</b></font></tt></a>*</tt> <a href="CL_Streamed_WaveSample.html#1410"><tt><font color=blue><b>begin_session</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="1407"><font size=+1><b>CL_Streamed_WaveSample::create</b></font></a> - Creates a soundbuffer using this provider.<br><tt><tt>static</tt> <a href="CL_SoundBuffer.html"><tt><font color=navy><b>CL_SoundBuffer</b></font></tt></a>*</tt> <a href="CL_Streamed_WaveSample.html#1407"><tt><font color=blue><b>create</b></font></tt></a><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>filename</font></tt>, <a href="CL_InputSourceProvider.html"><tt><font color=navy><b>CL_InputSourceProvider</b></font></tt></a>* <tt><font color=blue>inputprovider</font></tt> = NULL, <tt><font color=purple>bool</font></tt> <tt><font color=blue>looped</font></tt> = false)</tt>;<br><blockquote> filename - Filename of the wave file.<br> inputprovider - Input source (datafile, regular file). If NULL<br> it defaults to a regular file.<br> looped - True if the streamed should be looped (stream never ends).<br> Returns - The soundbuffer created.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="1411"><font size=+1><b>CL_Streamed_WaveSample::end_session</b></font></a> - Called by the sound implementation just before a playback session has<br> ended.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_Streamed_WaveSample.html#1411"><tt><font color=blue><b>end_session</b></font></tt></a><tt>(<a href="CL_StreamSoundProvider_Session.html"><tt><font color=navy><b>CL_StreamSoundProvider_Session</b></font></tt></a>* <tt><font color=blue>session</font></tt>)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="1409"><font size=+1><b>CL_Streamed_WaveSample::~CL_Streamed_WaveSample</b></font></a> - Streamed Wave Sample Destructor<br><tt><tt>virtual</tt> </tt> <a href="CL_Streamed_WaveSample.html#1409"><tt><font color=blue><b>~CL_Streamed_WaveSample</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <hr noshade> <h2>Variable Member Descriptions:</h2> <hr noshade> </body> </html>