#include <wx/sound.h>
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 can use either Open Sound System (OSS) or Simple DirectMedia Layer (SDL) under the latter. Notice that OSS is not provided any more by most, and maybe even all, Linux systems in 2017 and osspd (OSS Proxy Daemon) package typically needs to be installed to make it work.
bool | Play (unsigned flags=wxSOUND_ASYNC) const |
Plays the sound file. More... | |
static bool | Play (const wxString &filename, unsigned flags=wxSOUND_ASYNC) |
Plays the sound file. More... | |
Public Member Functions | |
wxSound () | |
Default ctor. More... | |
wxSound (const wxString &fileName, bool isResource=false) | |
Constructs a wave object from a file or, under Windows, from a Windows resource. More... | |
wxSound (size_t size, const void *data) | |
Constructs a wave object from in-memory data. More... | |
virtual | ~wxSound () |
Destroys the wxSound object. More... | |
bool | Create (const wxString &fileName, bool isResource=false) |
Constructs a wave object from a file or resource. More... | |
bool | Create (size_t size, const void *data) |
Constructs a wave object from in-memory data. More... | |
bool | IsOk () const |
Returns true if the object contains a successfully loaded file or resource, false otherwise. More... | |
Public Member Functions inherited from wxObject | |
wxObject () | |
Default ctor; initializes to NULL the internal reference data. More... | |
wxObject (const wxObject &other) | |
Copy ctor. More... | |
virtual | ~wxObject () |
Destructor. More... | |
virtual wxClassInfo * | GetClassInfo () const |
This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More... | |
wxObjectRefData * | GetRefData () const |
Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More... | |
bool | IsKindOf (const wxClassInfo *info) const |
Determines whether this class is a subclass of (or the same class as) the given class. More... | |
bool | IsSameAs (const wxObject &obj) const |
Returns true if this object has the same data pointer as obj. More... | |
void | Ref (const wxObject &clone) |
Makes this object refer to the data in clone. More... | |
void | SetRefData (wxObjectRefData *data) |
Sets the wxObject::m_refData pointer. More... | |
void | UnRef () |
Decrements the reference count in the associated data, and if it is zero, deletes the data. More... | |
void | UnShare () |
This is the same of AllocExclusive() but this method is public. More... | |
void | operator delete (void *buf) |
The delete operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More... | |
void * | operator new (size_t size, const wxString &filename=NULL, int lineNum=0) |
The new operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More... | |
Static Public Member Functions | |
static bool | IsPlaying () |
Returns true if a sound is played at the moment. More... | |
static void | Stop () |
If a sound is played, this function stops it. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from wxObject | |
void | AllocExclusive () |
Ensure that this object's data is not shared with any other object. More... | |
virtual wxObjectRefData * | CreateRefData () const |
Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More... | |
virtual wxObjectRefData * | CloneRefData (const wxObjectRefData *data) const |
Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More... | |
Protected Attributes inherited from wxObject | |
wxObjectRefData * | m_refData |
Pointer to an object which is the object's reference-counted data. More... | |
wxSound::wxSound | ( | ) |
Default ctor.
wxSound::wxSound | ( | const wxString & | fileName, |
bool | isResource = false |
||
) |
Constructs a wave object from a file or, under Windows, from a Windows resource.
Call IsOk() to determine whether this succeeded.
fileName | The filename or Windows resource. |
isResource | true if fileName is a resource, false if it is a filename. |
wxSound::wxSound | ( | size_t | size, |
const void * | data | ||
) |
Constructs a wave object from in-memory data.
size | Size of the buffer pointer to by data. |
data | The buffer containing the sound data in WAV format. |
|
virtual |
Destroys the wxSound object.
bool wxSound::Create | ( | const wxString & | fileName, |
bool | isResource = false |
||
) |
Constructs a wave object from a file or resource.
fileName | The filename or Windows resource. |
isResource | true if fileName is a resource, false if it is a filename. |
bool wxSound::Create | ( | size_t | size, |
const void * | data | ||
) |
Constructs a wave object from in-memory data.
size | Size of the buffer pointer to by data. |
data | The buffer containing the sound data in WAV format. |
bool wxSound::IsOk | ( | ) | const |
Returns true if the object contains a successfully loaded file or resource, false otherwise.
|
static |
Returns true if a sound is played at the moment.
This method is currently not available under Windows and may not be always implemented in Unix ports depending on the compilation options used (in this case it just always returns false).
|
static |
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 flags are:
Play
will block and wait until the sound is replayed.Play
returns immediately.The static form is shorthand for this code:
bool wxSound::Play | ( | unsigned | flags = wxSOUND_ASYNC | ) | const |
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 flags are:
Play
will block and wait until the sound is replayed.Play
returns immediately.The static form is shorthand for this code:
|
static |
If a sound is played, this function stops it.