\section{\class{wxSound}}\label{wxsound}
-This class represents a short wave file, in Windows WAV format, that
+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 Linux only.
+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}
\wxheading{Include files}
-<wx/wave.h>
+<wx/sound.h>
\latexignore{\rtfignore{\wxheading{Members}}}
-\membersection{wxSound::wxSound}\label{wxsoundconstr}
+
+\membersection{wxSound::wxSound}\label{wxsoundctor}
\func{}{wxSound}{\void}
\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.
+Constructs a wave object from a file or, under Windows, from a Windows
+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.}
+\docparam{isResource}{\true if {\it fileName} is a resource, \false if it is a filename.}
+
-\membersection{wxSound::\destruct{wxSound}}
+\membersection{wxSound::\destruct{wxSound}}\label{wxsounddtor}
\func{}{\destruct{wxSound}}{\void}
Destroys the wxSound object.
+
\membersection{wxSound::Create}\label{wxsoundcreate}
-\func{bool}{Create}{\param{const wxString\&}{ fileName}, \param{bool}{ isResource = false}}
+\func{bool}{Create}{\param{const wxString\&}{ fileName}, \param{bool}{ isResource = \false}}
Constructs a wave object from a file or resource.
\docparam{fileName}{The filename or Windows resource.}
-\docparam{isResource}{true if {\it fileName} is a resource, false if it is a filename.}
+\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.
+\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.
+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.
+
+This method is currently not implemented under Windows.
+
\membersection{wxSound::Play}\label{wxsoundplay}
-\constfunc{bool}{Play}{\param{bool}{ async = true}, \param{bool}{ looped = false}}
+\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. Note that in general it is possible
+to delete the object which is being asynchronously played any time after
+calling this function and the sound would continue playing, however this
+currently doesn't work under Windows for sound objects loaded from memory data.
+
+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}
-Plays the wave file synchronously or asynchronously, looped or single-shot.
+\func{static void}{Stop}{\void}
+If a sound is played, this function stops it.