-rw-r--r-- | library/sound.cpp | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/library/sound.cpp b/library/sound.cpp index 1ff3b3f..c8704f9 100644 --- a/library/sound.cpp +++ b/library/sound.cpp @@ -105,9 +105,9 @@ public: SoundData ( const QString& name ) : QSound ( Resource::findSound ( name )), filename ( Resource::findSound ( name )) { - loopsleft=0; + loopsleft=0; ms = WAVsoundDuration(filename); } void playLoop ( int loopcnt = -1 ) @@ -127,12 +127,12 @@ public: killTimer ( e-> timerId ( )); loopsleft = 0; return; } - } + } play(); } - + bool isFinished ( ) const { return ( loopsleft == 0 ); } @@ -144,37 +144,44 @@ private: }; #endif +/*! Opens a wave sound file \a name for playing + * Resource is used for finding the file + **/ Sound::Sound(const QString& name) { #ifndef QT_NO_SOUND d = new SoundData(name); #endif } +/*! Destroys the sound */ Sound::~Sound() { #ifndef QT_NO_SOUND delete d; #endif } +/*! Play the sound once */ void Sound::play() { #ifndef QT_NO_SOUND d->playLoop(1); #endif } +/*! Play the sound, repeatedly until stop() is called */ void Sound::playLoop() { #ifndef QT_NO_SOUND d->killTimers(); d->playLoop(); #endif } +/*! Do not repeat the sound after it finishes. This will end a playLoop() */ void Sound::stop() { #ifndef QT_NO_SOUND d->killTimers(); @@ -189,10 +196,26 @@ bool Sound::isFinished() const return true; #endif } +/*! Sounds the audible system alarm. This is used for applications such + as Calendar when it needs to alarm the user of an event. +*/ void Sound::soundAlarm() { #ifndef QT_NO_COP QCopEnvelope( "QPE/TaskBar", "soundAlarm()" ); -#endif +#endif } + + +/*! \class Sound + \brief The Sound class plays WAVE sound files and can invoke the audible alarm. + + The Sound class is constructed with the .wav music file name. The Sound + class retrieves the sound file from the shared Resource class. This class + ties together QSound and the available sound resources. + + To sound an audible system alarm, call the static method soundAlarm() + + \ingroup qtopiaemb +*/ |