import javax.speech.synthesis.*; import javax.speech.*; import java.util.Locale; class synthesizer_example5{ static Synthesizer synthesizer; //listener in charge of catching the synthesizer events static SpeakableListener speakableListenerOuvidor_do_Sintetizador = new SpeakableAdapter() { public void wordStarted(SpeakableEvent speakableEventEvento) { System.out.println("Event caught by the synthesizer listener."); System.out.println(speakableEventEvento.getText()); } }; //listener in charge of catching the method speak events static SpeakableListener speakableListenerOuvidor_do_Metodo_Speak = new SpeakableAdapter() { public void wordStarted(SpeakableEvent speakableEventEvento) { System.out.println("Event caught by the listener of the speakEvent method."); System.out.println(speakableEventEvento.getText()); } }; public static void main(String args[]){ try{ Locale.setDefault(new Locale("en","US")); synthesizer = Central.createSynthesizer(null); //associate the listener with the synthesizer synthesizer.addSpeakableListener(speakableListenerOuvidor_do_Sintetizador); synthesizer.allocate(); //associte the listener with the method speak, the //synthesizer already has its own listener synthesizer.speak("Hi master",speakableListenerOuvidor_do_Metodo_Speak); } catch(Exception e){ System.out.println("Error message: "+e.toString()); } } }