-
Notifications
You must be signed in to change notification settings - Fork 3
/
SpeakGoogle.h
68 lines (55 loc) · 1.46 KB
/
SpeakGoogle.h
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
61
62
63
64
65
66
67
68
#ifndef SPEAKGOOGLE_H
#define SPEAKGOOGLE_H
#include <QObject>
#include <QtNetwork>
#include <QNetworkAccessManager>
#include "./DownloadControl/DownloadControl.h"
#include "phonon"
#include <QUrl>
#include <QFile>
#include <QTime>
class SpeakGoogle : public QObject
{
Q_OBJECT
public:
explicit SpeakGoogle(QObject *parent = 0);
~SpeakGoogle();
signals:
void soundEnded();
void NetWorkUnavailable();
void speakError();
void fileOpenError();
public slots:
void NetWorkIsBad();
void stateChanged(Phonon::State newState,
Phonon::State oldstate);
void startSpeak();
void googleTTS();
void setSoundTime(const int &soundtime);
void setInterval(const int &interval);
void speakGoogleTTS(const QString &text);
void speakGoogleRestart();
void googleTTSPlay();
void googleTTSStop();
Phonon::MediaObject *getMediaObject();
private slots:
void httpFinished(); //完成下载后的处理
void httpReadyRead(); //接收到数据时的处理
void haveError(QNetworkReply::NetworkError error);//网络有问题的处理
private:
QNetworkAccessManager *manager;
QNetworkReply *reply;
QUrl url; //存储网络地址
QFile *file; //文件指针
QString soundPath;
QTime starttime;
Phonon::MediaObject *mediaObject;
Phonon::AudioOutput *audioOutput;
Phonon::State curState;
int soundTime;
int Interval;
int time;
int tryTime;
QString wordText;
};
#endif // SPEAKGOOGLE_H