| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: sound.h
- // Purpose: interface of wxSound
- // Author: wxWidgets team
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- #define wxSOUND_SYNC 0
- #define wxSOUND_ASYNC 1
- #define wxSOUND_LOOP 2
- /**
- @class 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
- Open Sound System or Simple DirectMedia Layer).
- @library{wxadv}
- @category{media}
- */
- class wxSound : public wxObject
- {
- public:
- /**
- Default ctor.
- */
- wxSound();
- /**
- Constructs a wave object from a file or, under Windows, from a Windows
- resource. Call IsOk() to determine whether this succeeded.
- @param fileName
- The filename or Windows resource.
- @param isResource
- @true if fileName is a resource, @false if it is a filename.
- */
- wxSound(const wxString& fileName, bool isResource = false);
- /**
- Constructs a wave object from in-memory data.
- @param size
- Size of the buffer pointer to by @a data.
- @param data
- The buffer containing the sound data in WAV format.
- */
- wxSound(size_t size, const void* data);
- /**
- Destroys the wxSound object.
- */
- virtual ~wxSound();
- /**
- Constructs a wave object from a file or resource.
- @param fileName
- The filename or Windows resource.
- @param isResource
- @true if fileName is a resource, @false if it is a filename.
- @return @true if the call was successful, @false otherwise.
- */
- bool Create(const wxString& fileName, bool isResource = false);
- /**
- Constructs a wave object from in-memory data.
- @param size
- Size of the buffer pointer to by @a data.
- @param data
- The buffer containing the sound data in WAV format.
- */
- bool Create(size_t size, const void* data);
- /**
- Returns @true if the object contains a successfully loaded file or resource,
- @false otherwise.
- */
- bool IsOk() const;
- /**
- 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).
- @onlyfor{wxgtk,wxosx}
- */
- static bool IsPlaying();
- //@{
- /**
- 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 @a flags are:
- - wxSOUND_SYNC: @c Play will block and wait until the sound is replayed.
- - wxSOUND_ASYNC: Sound is played asynchronously, @c Play returns immediately.
- - wxSOUND_ASYNC|wxSOUND_LOOP: Sound is played asynchronously and loops
- until another sound is played, Stop() is
- called or the program terminates.
- The static form is shorthand for this code:
- @code
- wxSound(filename).Play(flags);
- @endcode
- */
- bool Play(unsigned flags = wxSOUND_ASYNC) const;
- static bool Play(const wxString& filename,
- unsigned flags = wxSOUND_ASYNC);
- //@}
- /**
- If a sound is played, this function stops it.
- */
- static void Stop();
- };
|