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

📄 answertext.java

📁 Creating the Auto Answering Machine Application
💻 JAVA
字号:
/*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 + -