blob: 66679b6eb58b01381d5e65f691c8314d029e7c73 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#ifndef AUDIOINTERFACE_H
#define AUDIOINTERFACE_H
#include <QObject>
#include <QFile>
class AudioPlayer
: public QObject
{
Q_OBJECT
friend class AudioManager;
public:
virtual ~AudioPlayer()
{}
virtual bool isWorking() const = 0;
virtual void setMuted(bool mute = true) = 0;
virtual bool isMuted() const = 0;
virtual void play() = 0;
virtual bool isPlaying() = 0;
virtual void pause() = 0;
virtual bool isPaused() = 0;
virtual void stop() = 0;
virtual bool isStopped() = 0;
virtual void clear() = 0;
virtual void clearQueue() = 0;
virtual void setPrefinishMark(qint32 msecToEnd) = 0;
virtual void seek(qint64 time) = 0;
signals:
void finished();
void prefinishMarkReached(qint32 mark);
protected:
AudioPlayer(QObject *parent = 0)
: QObject(parent)
{}
virtual void setWorking(bool working = true) = 0;
virtual void test(QFile *sound, unsigned int length) = 0;
virtual void play(QFile *sound, unsigned int length) = 0;
virtual void setSource(QFile *sound, unsigned int length) = 0;
virtual void enqueue(QFile *sound, unsigned int length) = 0;
protected slots:
virtual void prefinishMarkReached_ex(qint32 mark) = 0;
};
/* --------------------------------------------------------------- */
class AudioPlayerFactory
{
public:
virtual ~AudioPlayerFactory()
{}
virtual AudioPlayer *create(QObject *parent = 0) = 0;
};
Q_DECLARE_INTERFACE(AudioPlayerFactory, "at.ac.tuwien.foop.pacman.AudioPlayerFactory/1.0");
#endif // AUDIOINTERFACE_H
|