View Javadoc

1   package org.wcb.plugins.speech;
2   
3   import javax.speech.synthesis.Synthesizer;
4   import javax.speech.EngineException;
5   import javax.speech.AudioException;
6   
7   /***
8   *This library is free software; you can redistribute it and/or
9   * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
21  *
22  *   Project:   Home Automation Interface
23  *  Filename:  $Id: SynthesizerLoader.java,v 1.3 2004/02/27 01:29:53 wbogaardt Exp $
24  *  Abstract:  Web bean for x10 jsp.
25  *
26  * $Log: SynthesizerLoader.java,v $
27  * Revision 1.3  2004/02/27 01:29:53  wbogaardt
28  * modified classes so they conform to Checkstyle format in readability
29  *
30  * Revision 1.2  2003/12/18 17:35:53  wbogaardt
31  * fixed speech engine issue so that the application does not lock up but will notify user of the need to
32   * install speech.properties file in their home directory.
33  *
34  * Revision 1.1  2003/12/11 21:58:42  wbogaardt
35  * added speach synthesizer using java speech api
36  *
37   *
38       * A Thread that loads the Synthesizer.
39       */
40  public class SynthesizerLoader extends Thread {
41          private Synthesizer synthesizer;
42  
43          /***
44           * Constructs a SynthesizerLoaded which loads the given Synthesizer.
45           *
46           * @param synth the Synthesizer to load
47           *    the PlayerModel
48           */
49          public SynthesizerLoader(Synthesizer synth)
50          {
51              this.synthesizer = synth;
52          }
53  
54          /***
55           * Implements the <code>run()</code> method of the Thread class.
56           */
57          public void run()
58          {
59              try
60              {
61                  if (synthesizer != null)
62                  {
63                  System.out.println("allocating...");
64                  synthesizer.allocate();
65                  System.out.println("...allocated");
66                  synthesizer.resume();
67                  System.out.println("...resume");
68                  }
69                  else
70                  {
71                      System.err.println("Check that speech.properties is installed at "
72                              + System.getProperty("user.home"));
73                  }
74              }
75              catch (EngineException e)
76              {
77                  System.err.println("Engine allocation error " + e.getMessage());
78              }
79              catch (AudioException ae)
80              {
81                  System.err.println("No audio found " + ae.getMessage());
82              }
83          }
84      }