00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include "ArExport.h"
00029 #include "ArSpeech.h"
00030
00031 AREXPORT ArSpeechSynth::ArSpeechSynth() :
00032 mySpeakCB(this, &ArSpeechSynth::speak),
00033 myInitCB(this, &ArSpeechSynth::init),
00034 myInterruptCB(this, &ArSpeechSynth::interrupt),
00035 myAudioPlaybackCB(0)
00036 {
00037 }
00038
00039 AREXPORT ArSpeechSynth::~ArSpeechSynth()
00040 {
00041 }
00042
00043 AREXPORT ArRetFunctorC<bool, ArSpeechSynth>* ArSpeechSynth::getInitCallback(void)
00044 {
00045 return &myInitCB;
00046 }
00047
00048 AREXPORT ArRetFunctor2C<bool, ArSpeechSynth, const char*, const char*>* ArSpeechSynth::getSpeakCallback(void)
00049 {
00050 return &mySpeakCB;
00051 }
00052
00053
00054 AREXPORT ArFunctorC<ArSpeechSynth>* ArSpeechSynth::getInterruptCallback()
00055 {
00056 return &myInterruptCB;
00057 }
00058
00059 AREXPORT void ArSpeechSynth::setAudioCallback(ArRetFunctor2<bool, ArTypes::Byte2*, int>* cb)
00060 {
00061 myAudioPlaybackCB = cb;
00062 }
00063
00064
00065 AREXPORT bool ArSpeechSynth::speak(const char* text, const char* voiceParams) {
00066 return speak(text, voiceParams, NULL, 0);
00067 }
00068
00069