\section{\class{wxSound}}\label{wxsound}

This class represents a short sound (loaded from Windows WAV file), that
can be stored in memory and played. Currently this class is implemented
on Windows and Unix (and uses either 
\urlref{Open Sound System}{http://www.opensound.com/oss.html} or 
\urlref{Simple DirectMedia Layer}{http://www.libsdl.org/}).

\wxheading{Derived from}

\helpref{wxObject}{wxobject}

\wxheading{Include files}

<wx/sound.h>

\latexignore{\rtfignore{\wxheading{Members}}}

\membersection{wxSound::wxSound}\label{wxsoundconstr}

\func{}{wxSound}{\void}

Default constructor.

\func{}{wxSound}{\param{const wxString\&}{ fileName}, \param{bool}{ isResource = false}}

Constructs a wave object from a file or resource. Call \helpref{wxSound::IsOk}{wxsoundisok} to
determine whether this succeeded.

\wxheading{Parameters}

\docparam{fileName}{The filename or Windows resource.}

\docparam{isResource}{\true if {\it fileName} is a resource, \false if it is a filename.}

\membersection{wxSound::\destruct{wxSound}}

\func{}{\destruct{wxSound}}{\void}

Destroys the wxSound object.

\membersection{wxSound::Create}\label{wxsoundcreate}

\func{bool}{Create}{\param{const wxString\&}{ fileName}, \param{bool}{ isResource = \false}}

Constructs a wave object from a file or resource.

\wxheading{Parameters}

\docparam{fileName}{The filename or Windows resource.}

\docparam{isResource}{\true if {\it fileName} is a resource, \false if it is a filename.}

\wxheading{Return value}

\true if the call was successful, \false otherwise.

\membersection{wxSound::IsOk}\label{wxsoundisok}

\constfunc{bool}{IsOk}{\void}

Returns \true if the object contains a successfully loaded file or resource, \false otherwise.

\membersection{wxSound::IsPlaying}\label{wxsoundisplaying}

\constfunc{static bool}{IsPlaying}{\void}

Returns \true if a sound is played at the moment.

\membersection{wxSound::Play}\label{wxsoundplay}

\constfunc{bool}{Play}{\param{unsigned }{ flags = wxSOUND\_ASYNC}}

\func{static bool}{Play}{\param{const wxString\& }{filename}, \param{unsigned}{ flags = wxSOUND\_ASYNC}}

Plays the sound file. If another sound is playing, it will be interrupted.
Returns \true on success, \false otherwise.

The possible values for \arg{flags} are:

\begin{twocollist}
\twocolitem{wxSOUND\_SYNC}{{\tt Play} will block and wait until the sound is
replayed.}
\twocolitem{wxSOUND\_ASYNC}{Sound is played asynchronously, 
{\tt Play} returns immediately}
\twocolitem{wxSOUND\_ASYNC | wxSOUND\_LOOP}{Sound is played asynchronously
and loops until another sound is played, 
\helpref{wxSound::Stop}{wxsoundstop} is called or the program terminates.}
\end{twocollist}

The static form is shorthand for this code:
\begin{verbatim}
wxSound(filename).Play(flags);
\end{verbatim}

\membersection{wxSound::Stop}\label{wxsoundstop}

\func{static void}{Stop}{\void}

If a sound is played, this function stops it.

