Blame view

app/gui/oven_control/soundplayer.h 1.23 KB
2097d305c   김태훈   소리 재생 기능 추가
1
2
3
4
5
  #ifndef SOUNDPLAYER_H
  #define SOUNDPLAYER_H
  
  #include <QObject>
  #include <QSound>
14b44676e   김태훈   음원 재생 루틴 개선
6
7
  #include <QSoundEffect>
  #include <QThread>
2097d305c   김태훈   소리 재생 기능 추가
8
  #include <QMap>
d75742e49   김태훈   음향 효과 개선
9
  #include <QProcess>
2097d305c   김태훈   소리 재생 기능 추가
10
14b44676e   김태훈   음원 재생 루틴 개선
11
12
13
  class SoundPlayWorker : public QObject
  {
      Q_OBJECT
d75742e49   김태훈   음향 효과 개선
14
15
  
      bool repeat_;
14b44676e   김태훈   음원 재생 루틴 개선
16
17
18
19
20
21
  public:
      explicit SoundPlayWorker();
  
  public slots:
      void play(const QString &filename);
      void playClick();
a34ceb32b   김태훈   볼륨 설정에 따라 음향 볼륨 설정
22
      void setVolume(int volume);
d75742e49   김태훈   음향 효과 개선
23
24
      void repeat(const QString &filename);
      void stop();
14b44676e   김태훈   음원 재생 루틴 개선
25
26
27
28
29
  
  private:
      QMap<QString, QSound *> map;
      QSound *current;
      QSoundEffect *click;
d75742e49   김태훈   음향 효과 개선
30
31
32
33
      QProcess *proc;
  
  private slots:
      void onFinished();
14b44676e   김태훈   음원 재생 루틴 개선
34
  };
2097d305c   김태훈   소리 재생 기능 추가
35
36
37
  class SoundPlayer : public QObject
  {
      Q_OBJECT
14b44676e   김태훈   음원 재생 루틴 개선
38
39
40
41
  
      explicit SoundPlayer();
      void play(const QString &filename);
      void emitClick();
d75742e49   김태훈   음향 효과 개선
42
43
      void repeat(const QString &filename);
      void stopPlay();
14b44676e   김태훈   음원 재생 루틴 개선
44
a34ceb32b   김태훈   볼륨 설정에 따라 음향 볼륨 설정
45
14b44676e   김태훈   음원 재생 루틴 개선
46
      static SoundPlayer *instance;
2097d305c   김태훈   소리 재생 기능 추가
47
  public:
337d4f1a3   김태훈   음원 추가
48
49
50
51
52
      static void playClick();
      static void playStart();
      static void playStop();
      static void playError1();
      static void playError2();
d75742e49   김태훈   음향 효과 개선
53
54
55
      static void repeatError1();
      static void repeatError2();
      static void stop();
2097d305c   김태훈   소리 재생 기능 추가
56
57
  
  signals:
a34ceb32b   김태훈   볼륨 설정에 따라 음향 볼륨 설정
58
      void setVolume(int);
14b44676e   김태훈   음원 재생 루틴 개선
59
60
      void operate(const QString &);
      void click();
d75742e49   김태훈   음향 효과 개선
61
62
      void operateRepeat(const QString &);
      void operateStop();
2097d305c   김태훈   소리 재생 기능 추가
63
64
65
  };
  
  #endif // SOUNDPLAYER_H