navit  0.5.3-trunk
Qt5EspeakAudioOut.h
Go to the documentation of this file.
1 
19 // style with: clang-format -style=WebKit -i *
20 
21 #ifndef Qt5EspeakAudioOut_h
22 #define Qt5EspeakAudioOut_h
23 #include <QAudioOutput>
24 #include <QBuffer>
25 #include <QByteArray>
26 #include <QObject>
27 class Qt5EspeakAudioOut : public QObject {
28  Q_OBJECT
29 
30 public:
31  /* Instantiate this. Parameters are the sample rate to use,
32  * and the category to sort this audio output to. Not all platforms
33  * will honour category */
34  Qt5EspeakAudioOut(int samplerate, const char* category);
36  /* Add new samples to this class. The samples will be played*/
37  void addSamples(short* wav, int numsamples);
38 public slots:
39  /* Deal with QAudioOutput status changes */
40  void handleStateChanged(QAudio::State newState);
41  /* Cause QAusioOutput to resume playing (after samples were added)*/
42  void resume(int state);
43 signals:
44  /* Cause QAusioOutput to resume playing. Emit this from different thread
45  * as this is not threadsafe*/
46  void call_resume(int state);
47 
48 protected:
49  /* None */
50 
51 private:
52  /* internal buffer */
53  QByteArray* data;
54  QBuffer* buffer;
55  /* audio output class */
56  QAudioOutput* audio;
57 };
58 #endif
Definition: Qt5EspeakAudioOut.h:27
void call_resume(int state)
void resume(int state)
Definition: Qt5EspeakAudioOut.cpp:97
Qt5EspeakAudioOut(int samplerate, const char *category)
Definition: Qt5EspeakAudioOut.cpp:26
QByteArray * data
Definition: Qt5EspeakAudioOut.h:53
QBuffer * buffer
Definition: Qt5EspeakAudioOut.h:54
void handleStateChanged(QAudio::State newState)
Definition: Qt5EspeakAudioOut.cpp:75
~Qt5EspeakAudioOut()
Definition: Qt5EspeakAudioOut.cpp:66
QAudioOutput * audio
Definition: Qt5EspeakAudioOut.h:56
void addSamples(short *wav, int numsamples)
Definition: Qt5EspeakAudioOut.cpp:103