Wt
4.11.1
|
A value class to play a sound effect. More...
#include <Wt/WSound.h>
Public Member Functions | |
WSound () | |
Constructs a sound object. More... | |
WSound (const std::string &url) | |
Constructs a sound object for an MP3 media source. More... | |
WSound (MediaEncoding encoding, const WLink &link) | |
Constructs a sound object. More... | |
~WSound () | |
Destructor. More... | |
void | addSource (MediaEncoding encoding, const WLink &link) |
Adds a media source. More... | |
WLink | getSource (MediaEncoding encoding) const |
Returns the media source. More... | |
void | setLoops (int number) |
Sets the amount of times the sound has to be repeated. More... | |
int | loops () const |
Returns the configured number of repeats. More... | |
void | play () |
Start asynchronous playback of the sound. More... | |
void | stop () |
Stops playback of the sound. More... | |
Public Member Functions inherited from Wt::WObject | |
void | addChild (std::unique_ptr< WObject > child) |
Add a child WObject whose lifetime is determined by this WObject. | |
template<typename Child > | |
Child * | addChild (std::unique_ptr< Child > child) |
Add a child WObject, returning a raw pointer. More... | |
std::unique_ptr< WObject > | removeChild (WObject *child) |
Remove a child WObject, so its lifetime is no longer determined by this WObject. | |
template<typename Child > | |
std::unique_ptr< Child > | removeChild (Child *child) |
Remove a child WObject, so its lifetime is no longer determined by this WObject. More... | |
virtual const std::string | id () const |
Returns the (unique) identifier for this object. More... | |
virtual void | setObjectName (const std::string &name) |
Sets an object name. More... | |
virtual std::string | objectName () const |
Returns the object name. More... | |
void | resetLearnedSlots () |
Resets learned stateless slot implementations. More... | |
template<class T > | |
void | resetLearnedSlot (void(T::*method)()) |
Resets a learned stateless slot implementation. More... | |
template<class T > | |
WStatelessSlot * | implementStateless (void(T::*method)()) |
Declares a slot to be stateless and learn client-side behaviour on first invocation. More... | |
template<class T > | |
WStatelessSlot * | implementStateless (void(T::*method)(), void(T::*undoMethod)()) |
Declares a slot to be stateless and learn client-side behaviour in advance. More... | |
void | isNotStateless () |
Marks the current function as not stateless. More... | |
template<class T > | |
WStatelessSlot * | implementJavaScript (void(T::*method)(), const std::string &jsCode) |
Provides a JavaScript implementation for a method. More... | |
Public Member Functions inherited from Wt::Core::observable | |
observable () noexcept | |
Default constructor. | |
virtual | ~observable () |
Destructor. More... | |
template<typename... Args, typename C > | |
auto | bindSafe (void(C::*method)(Args...)) noexcept |
Protects a method call against object destruction. More... | |
template<typename... Args, typename C > | |
auto | bindSafe (void(C::*method)(Args...) const) const noexcept |
Protects a const method call against object destruction. More... | |
template<typename Function > | |
auto | bindSafe (const Function &function) noexcept |
Protects a function against object destruction. More... | |
Additional Inherited Members | |
Public Types inherited from Wt::WObject | |
typedef void(WObject::* | Method) () |
Typedef for a WObject method without arguments. | |
Protected Member Functions inherited from Wt::WObject | |
virtual WStatelessSlot * | getStateless (Method method) |
On-demand stateless slot implementation. More... | |
A value class to play a sound effect.
This class provides a way to play an MP3 sound asynchonously (if the browser supports this). It is intended as a simple way to play event sounds (not quite for a media center).
This class uses a WMediaPlayer to play the sound (using HTML <audio> or a flash player).
Usage example:
Wt::WSound::WSound | ( | ) |
Constructs a sound object.
Wt::WSound::WSound | ( | const std::string & | url | ) |
Constructs a sound object for an MP3 media source.
The url
will be assumed to be an MP3 file.
Wt::WSound::WSound | ( | MediaEncoding | encoding, |
const WLink & | link | ||
) |
Constructs a sound object.
Wt::WSound::~WSound | ( | ) |
Destructor.
Deleting a sound also stops it (if it was playing).
void Wt::WSound::addSource | ( | MediaEncoding | encoding, |
const WLink & | link | ||
) |
Adds a media source.
You may add multiple media sources (with different encodings) to allow the file to be played in more browsers without needing Flash plugins.
WLink Wt::WSound::getSource | ( | MediaEncoding | encoding | ) | const |
Returns the media source.
This returns the link set for a specific encoding, or an empty link if no URL was set for that encoding.
int Wt::WSound::loops | ( | ) | const |
Returns the configured number of repeats.
void Wt::WSound::play | ( | ) |
Start asynchronous playback of the sound.
This method returns immediately. It will cause the sound to be played for the configured amount of loops().
The behavior of play() when a sound is already playing is undefind: it may be intermixed, sequentially queued, or a current playing sound may be stopped. It is recommended to call stop() before play() if you want to avoid mixing multiple instances of a single WSound object.
void Wt::WSound::setLoops | ( | int | number | ) |
Sets the amount of times the sound has to be repeated.
A call to play() will play the sound number
of times. The default value is 1 (no repeats).
void Wt::WSound::stop | ( | ) |
Stops playback of the sound.
This method returns immediately. It causes the current playback (if any) of the sound to be stopped.