⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 the answertext.java file.txt

📁 Creating the Auto Answering Machine Application
💻 TXT
字号:
/*Import required io classes*/
import java.io.File;
/*Import required util classes*/
import java.util.Locale;
import java.util.Vector;
import javax.speech.synthesis.SynthesizerAdapter;
import javax.speech.synthesis.SynthesizerEvent;
import java.net.URL;
/*Import required speech classes*/
import javax.speech.synthesis.*;
import javax.speech.Central;
import javax.speech.Engine;
import javax.speech.EngineList;
import javax.speech.synthesis.Synthesizer;
import javax.speech.synthesis.SynthesizerModeDesc;
import javax.speech.synthesis.SynthesizerProperties;
import javax.speech.synthesis.Voice;
/*
Class:AnswerText-Speaks the text
Fields:
voiceName:Represents the voice selected by the end user.
synthesizer:Represents an object of Synthesizer class.
Methods:
speakSelText():Uses the object of Synthesizer class to speak the text.
closeSynthesizer():Closes the synthesizer and stops the speaking operation.
pauseSynthesizer():Pauses the synthesizer.
resumeSynthesizer():Resumes the paused speaking operation of the synthesizer.
*/
public class AnswerText extends SynthesizerAdapter
{
   /*Declare variables*/
   URL url;
   String l;
   String voiceName;
   SynthesizerModeDesc desc;
   Synthesizer synthesizer;
   AutoAnswerObserver txtpad;
   /*
   AnswerText():
   Parameters:
   k:String representing the text that the synthesizer speaks.
   selvoice:String representing the voice selected by the end user.
   Return Type:NA
   */
   public AnswerText(String k,String selvoice) 
   {
      /*
      Set the value of l to the text that the synthesizer speaks
      */
      l=k;
      voiceName = selvoice;
      System.out.println("Using voice:" + voiceName);
      try
      {
         /*
         Initialize an object of SynthesizerModeDesc class
         */
         desc = new SynthesizerModeDesc
         (
            null,
            "general",
            Locale.US,
            null,
            null);
            synthesizer = Central.createSynthesizer(desc);
            /*
            Prints the message if no synthesizer is available
            */
            if (synthesizer == null)
            {
               String message = "\nCan't find synthesizer.\n"
               + "Make sure that there is a\"speech.properties\" file"
               + "at either of these locations: \n";
               message += "user.home:"
               + System.getProperty("user.home") + "\n";
               message += "java.home/lib:" + System.getProperty("java.home")
               + File.separator + "lib\n";
               System.err.println(message);
               System.exit(1);
            }
            /*
            Allocate a synthesizer to speak text.*/
            synthesizer.allocate();
            synthesizer.resume();
            desc = (SynthesizerModeDesc) synthesizer.getEngineModeDesc();
            /*
            Retrieve all the available voices in an array
            */
            Voice[] voices = desc.getVoices();
            Voice voice = null;
            for (int i = 0; i < voices.length; i++) 
            {
            if voices[i].getName().equals(voiceName)) 
            {
               voice = voices[i];
               break;
            }
          }
          /*
         Print error message if selected voice is not available
          */
          if(voice == null) 
          {
            System.err.println("Synthesizer does not have  a voice named" + voiceName + ".");
             System.exit(1);
          }
         /*
          Set the selected voice for the synthesizer
         */ synthesizer.getSynthesizerProperties().setVoice voice);
      }
      catch(Exception e)
      {
         System.out.println(e);
      }
   }
   /*
   answerSelText():Speaks the text
   Parameters:NA
   Return Value:NA
   */
   public void answerSelText(AutoAnswerObserver st)
   {
      try
      {
         txtpad=st;
         /*
         Invoke speakPlainText() method to speak the text.
         */
         synthesizer.cancelAll();
         synthesizer.speakPlainText(l, null);
         System.out.println("Speaking Text");
      }
      catch (Exception e) 
      {
         e.printStackTrace();
      }
      try
      {
         /*
         Invoke waitEngineState() method to wait end   of speech.
         */
         { synthesizer.waitEngineState(Synthesizer.QUEUE_EMPTY);
         }
         catch(Exception e)
         {
         }
      }
      /*
      closeSynthesizer():Close the synthesizer   and  stop the speaking operation.
      Parameters:NA
      Return Type:NA
      */
      public void closeSynthesizer()
      {
         try
         {
            /*
            Stop the synthesizer and cancel the speaking operation
            */
            synthesizer.cancelAll();
            System.out.println("Speaking Operation  Cancelled");
         }
         catch (Exception e) 
         {
            e.printStackTrace();
         }
      }
      /*
      pauseSynthesizer():Pause the synthesizer. This pauses the text that the synthesizer is
      currently
      speaking.
      Parameters:NA
      Return Value:NA
      */
      public void pauseSynthesizer()
      { 
         try
         {
            /*
            Pause the synthesizer
            */
            synthesizer.pause();
            System.out.println("Speaking Operation Paused");
         }
         catch(Exception e)
         {
            e.printStackTrace();
         }
      }
      /*
      resumeSynthesizer():Resumes the speaking operation that is paused by the end user.
      Parameters:NA
      Return Value:NA
      */
      public void resumeSynthesizer()
      {
         try
         {
            /*
            Resume the synthesizer that speaks the text.
            */
            Synthesizer.resume();
            System.out.println("Speaking Operation Resumed");
         }
         catch(Exception e)
         {
            e.printStackTrace();
         }
      }
   } 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -