blob: e9b524f954f280972fe737cd9e21c030935ca48c (
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
#pragma once
#include "texttospeech.h"
struct ITTSCentralW;
struct ITTSAttributesA;
class SpeechApi40a : public TextToSpeech
{
public:
SpeechApi40a();
virtual ~SpeechApi40a();
//--------------------------------------------------------------------------
// Description : is the api available for use
// Return : true - it is available
// false - it is not available
//--------------------------------------------------------------------------
virtual bool isAvailable();
//--------------------------------------------------------------------------
// Description : load/unload/reload the speech api
// Return : true - the action succeeded
// false - the action failed
//--------------------------------------------------------------------------
virtual bool load();
virtual bool unload();
//--------------------------------------------------------------------------
// Description : check if the speech api is loaded
// Return : true - the speech_api is loaded
// false - its not loaded
//--------------------------------------------------------------------------
virtual bool isLoaded() const;
//--------------------------------------------------------------------------
// Description : speak a sentence
// Parameters : sentence - the sentence to speak
// Returns : true - speak successful
// false - speak failed
//--------------------------------------------------------------------------
virtual bool say(const std::wstring &sentence);
//--------------------------------------------------------------------------
// Description : set the voice settings
// Parameters : range from 0 to 100
//--------------------------------------------------------------------------
virtual bool setVolume(int volume);
virtual bool setPitch(int pitch);
virtual bool setRate(int rate);
//--------------------------------------------------------------------------
// Description : set the voice
//--------------------------------------------------------------------------
virtual bool setVoice(const std::wstring &voice);
//--------------------------------------------------------------------------
// Description : get the available voices
//--------------------------------------------------------------------------
virtual std::vector<std::wstring> getVoices() const;
//--------------------------------------------------------------------------
// Description : open the lexicon dialog for this engine
// Parameters : window - handle to the parent window
// Return : true - dialog completely successfully
// false - dialog failed
//--------------------------------------------------------------------------
virtual bool lexiconDialog(HWND window);
//--------------------------------------------------------------------------
// Description : get the description of the tts engine
//--------------------------------------------------------------------------
static std::wstring getDescription();
private:
//--------------------------------------------------------------------------
// Description : load the speech api with the specified voice
//--------------------------------------------------------------------------
bool loadWithVoice(std::wstring &voice);
ITTSCentralW *m_tts_central;
ITTSAttributesA *m_tts_attribs;
TextToSpeech::State m_state;
std::wstring m_voice;
int m_volume;
int m_pitch;
int m_rate;
};
|