summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/QtUI')
-rw-r--r--Swift/QtUI/QtSoundPlayer.cpp11
-rw-r--r--Swift/QtUI/QtSoundPlayer.h6
2 files changed, 14 insertions, 3 deletions
diff --git a/Swift/QtUI/QtSoundPlayer.cpp b/Swift/QtUI/QtSoundPlayer.cpp
index 937d077..5dd3db3 100644
--- a/Swift/QtUI/QtSoundPlayer.cpp
+++ b/Swift/QtUI/QtSoundPlayer.cpp
@@ -3,14 +3,16 @@
#include <phonon/MediaObject>
#include <phonon/AudioOutput>
+
namespace Swift{
QtSoundPlayer::QtSoundPlayer() {
audioOutput_ = new Phonon::AudioOutput(Phonon::NotificationCategory);
messageReceived_ = new Phonon::MediaObject();
- messageReceived_->setCurrentSource(Phonon::MediaSource(":/sounds/messageReceived.wav"));
- Phonon::Path path = Phonon::createPath(messageReceived_, audioOutput_);
+ messageReceived_->setCurrentSource(Phonon::MediaSource(":/sounds/message-received.wav"));
+ Phonon::createPath(messageReceived_, audioOutput_);
+ connect(messageReceived_, SIGNAL(finished()), this, SLOT(handleFinished()));
}
QtSoundPlayer::~QtSoundPlayer() {
@@ -21,9 +23,14 @@ QtSoundPlayer::~QtSoundPlayer() {
void QtSoundPlayer::playSound(SoundEffect sound) {
switch (sound) {
case MessageReceived:
+ //messageReceived_->stop();
messageReceived_->play();
break;
}
}
+void QtSoundPlayer::handleFinished() {
+ messageReceived_->stop();
+}
+
} \ No newline at end of file
diff --git a/Swift/QtUI/QtSoundPlayer.h b/Swift/QtUI/QtSoundPlayer.h
index e0ccf18..b9109a7 100644
--- a/Swift/QtUI/QtSoundPlayer.h
+++ b/Swift/QtUI/QtSoundPlayer.h
@@ -2,6 +2,7 @@
#include "Swift/Controllers/SoundPlayer.h"
+#include <QObject>
namespace Phonon {
class AudioOutput;
@@ -9,7 +10,8 @@ namespace Phonon {
}
namespace Swift {
- class QtSoundPlayer : public SoundPlayer{
+ class QtSoundPlayer : public QObject, public SoundPlayer {
+ Q_OBJECT
public:
QtSoundPlayer();
~QtSoundPlayer();
@@ -17,5 +19,7 @@ namespace Swift {
private:
Phonon::AudioOutput* audioOutput_;
Phonon::MediaObject* messageReceived_;
+ private slots:
+ void handleFinished();
};
}