00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 #ifndef __UAPI__SPEECH_SYNTHESIZER__
00021 #define __UAPI__SPEECH_SYNTHESIZER__
00022 
00023 #include "exports.h"
00024 #include "AudioSource.h"
00025 #include "types.h"
00026 #include "Codec.h"
00027 #include "SmartProxy.h"
00028 
00029 namespace android
00030 {
00031   namespace speech
00032   {
00033     namespace recognition
00034     {
00035       class AudioSourceListenerProxy;
00036       class SpeechSynthesizerProxy;
00037       class SpeechSynthesizerDataProxy;
00038     }
00039   }
00040 }
00041 
00042 
00043 namespace android
00044 {
00045   namespace speech
00046   {
00047     namespace recognition
00048     {
00053       class SpeechSynthesizer: public AudioSource
00054       {
00055         public:
00056 
00057           enum SpeechType
00058           {
00062             TEXT,
00066             URI,
00071             SSML
00072           };
00073          
00080           virtual void setListener(AudioSourceListenerProxy& listener,
00081                                    ReturnCode::Type& returnCode) = 0;
00082 
00089           virtual void setCodec(Codec::Type synthesizeCodec, ReturnCode::Type& returnCode) = 0;
00090 
00103           virtual void queue( SpeechSynthesizer::SpeechType speechType, 
00104                               const char* value, const char * language, 
00105                               ReturnCode::Type& returnCode ) = 0;
00106 
00107         protected:
00111           UAPI_EXPORT SpeechSynthesizer();
00115           UAPI_EXPORT virtual ~SpeechSynthesizer();
00116           
00117           friend class SpeechSynthesizerProxy;
00118       };
00119       
00120       
00121 
00122 
00123       DECLARE_SMARTPROXY(UAPI_EXPORT, SpeechSynthesizerProxy, AudioSourceProxy, SpeechSynthesizer)
00124 
00125 
00126     }
00127   }
00128 }
00129 
00130 #endif