Commit 2097d305cc55d12b8aa1ee0db6ed90f6f0ccc0ee
1 parent
b8c0b492fe
Exists in
master
and in
2 other branches
소리 재생 기능 추가
Showing
3 changed files
with
50 additions
and
4 deletions
Show diff stats
app/gui/oven_control/oven_control.pro
| @@ -4,8 +4,7 @@ | @@ -4,8 +4,7 @@ | ||
| 4 | # | 4 | # |
| 5 | #------------------------------------------------- | 5 | #------------------------------------------------- |
| 6 | 6 | ||
| 7 | -QT += core gui | ||
| 8 | -QT += network | 7 | +QT += core gui network multimedia |
| 9 | 8 | ||
| 10 | greaterThan(QT_MAJOR_VERSION, 4): QT += widgets | 9 | greaterThan(QT_MAJOR_VERSION, 4): QT += widgets |
| 11 | 10 | ||
| @@ -61,7 +60,8 @@ SOURCES += main.cpp\ | @@ -61,7 +60,8 @@ SOURCES += main.cpp\ | ||
| 61 | realtimemain.cpp \ | 60 | realtimemain.cpp \ |
| 62 | realtimepartswindow.cpp \ | 61 | realtimepartswindow.cpp \ |
| 63 | realtimesensorwindow.cpp \ | 62 | realtimesensorwindow.cpp \ |
| 64 | - bulletindicator.cpp | 63 | + bulletindicator.cpp \ |
| 64 | + soundplayer.cpp | ||
| 65 | 65 | ||
| 66 | HEADERS += mainwindow.h \ | 66 | HEADERS += mainwindow.h \ |
| 67 | cook.h \ | 67 | cook.h \ |
| @@ -111,7 +111,8 @@ HEADERS += mainwindow.h \ | @@ -111,7 +111,8 @@ HEADERS += mainwindow.h \ | ||
| 111 | realtimemain.h \ | 111 | realtimemain.h \ |
| 112 | realtimepartswindow.h \ | 112 | realtimepartswindow.h \ |
| 113 | realtimesensorwindow.h \ | 113 | realtimesensorwindow.h \ |
| 114 | - bulletindicator.h | 114 | + bulletindicator.h \ |
| 115 | + soundplayer.h | ||
| 115 | 116 | ||
| 116 | FORMS += mainwindow.ui \ | 117 | FORMS += mainwindow.ui \ |
| 117 | manualcookwindow.ui \ | 118 | manualcookwindow.ui \ |
app/gui/oven_control/soundplayer.cpp
| @@ -0,0 +1,21 @@ | @@ -0,0 +1,21 @@ | ||
| 1 | +#include "soundplayer.h" | ||
| 2 | + | ||
| 3 | +QMap<QString, QSound *> SoundPlayer::map; | ||
| 4 | +QSound *SoundPlayer::current = 0; | ||
| 5 | + | ||
| 6 | +void SoundPlayer::play(const QString &filename) | ||
| 7 | +{ | ||
| 8 | + if (current && !current->isFinished()) | ||
| 9 | + current->stop(); | ||
| 10 | + | ||
| 11 | + if (map.contains(filename)) | ||
| 12 | + current = map.value(filename); | ||
| 13 | + else | ||
| 14 | + { | ||
| 15 | + current = new QSound(filename); | ||
| 16 | + map[filename] = current; | ||
| 17 | + } | ||
| 18 | + | ||
| 19 | + current->play(); | ||
| 20 | +} | ||
| 21 | + |
app/gui/oven_control/soundplayer.h
| @@ -0,0 +1,24 @@ | @@ -0,0 +1,24 @@ | ||
| 1 | +#ifndef SOUNDPLAYER_H | ||
| 2 | +#define SOUNDPLAYER_H | ||
| 3 | + | ||
| 4 | +#include <QObject> | ||
| 5 | +#include <QSound> | ||
| 6 | +#include <QMap> | ||
| 7 | + | ||
| 8 | +class SoundPlayer : public QObject | ||
| 9 | +{ | ||
| 10 | + Q_OBJECT | ||
| 11 | +public: | ||
| 12 | + static void play(const QString &filename); | ||
| 13 | + | ||
| 14 | +signals: | ||
| 15 | + | ||
| 16 | +public slots: | ||
| 17 | + | ||
| 18 | +private: | ||
| 19 | + static QMap<QString, QSound *> map; | ||
| 20 | + static QSound *current; | ||
| 21 | + | ||
| 22 | +}; | ||
| 23 | + | ||
| 24 | +#endif // SOUNDPLAYER_H |