?? freettsemacspeakserver.java
字號:
/** * Copyright 2003 Sun Microsystems, Inc. * * See the file "license.terms" for information on usage and * redistribution of this file, and for a DISCLAIMER OF ALL * WARRANTIES. */import com.sun.speech.freetts.ValidationException;import com.sun.speech.freetts.Validator;import com.sun.speech.freetts.Voice;import com.sun.speech.freetts.VoiceManager;import com.sun.speech.freetts.audio.JavaClipAudioPlayer;import com.sun.speech.freetts.audio.JavaStreamingAudioPlayer;import java.net.Socket;/** * Provides text-to-speech server for Emacspeak. */public class FreeTTSEmacspeakServer extends TTSServer { private Voice emacsVoice; /** * Constructs a EmacspeakServer. */ public FreeTTSEmacspeakServer(String voiceName) { System.setProperty ("com.sun.speech.freetts.audio.AudioPlayer.cancelDelay", "0"); createVoice(voiceName); } /** * Creates and loads the Voice. */ private void createVoice(String voiceName) { VoiceManager voiceManager = VoiceManager.getInstance(); emacsVoice = voiceManager.getVoice(voiceName); if (emacsVoice == null) { System.err.println("No such voice with the name: " + voiceName); System.exit(1); } emacsVoice.allocate(); } /** * Spawns a ProtocolHandler depending on the current protocol. * This method is inherited from TTSServer. * * @param socket the socket that the spawned protocol handler will use */ protected void spawnProtocolHandler(Socket socket) { try { FreeTTSEmacspeakHandler handler = new FreeTTSEmacspeakHandler(socket, emacsVoice); (new Thread(handler)).start(); } catch (Exception e) { e.printStackTrace(); } } /** * Sets the speaking rate of the voice. * * @param wpm the speaking rate (words per minute) */ public void setRate(float wpm) { emacsVoice.setRate(wpm); } /** * Starts this TTS Server. * * Usage: FreeTTSEmacspeakServer [voicename [speaking rate]] */ public static void main(String[] args) { String voiceName = (args.length > 0) ? args[0] : "kevin16"; System.out.println(); System.out.println("Using voice: " + voiceName); System.out.println(); FreeTTSEmacspeakServer server = new FreeTTSEmacspeakServer(voiceName); if (args.length > 1) { float wpm = Float.parseFloat(args[1]); server.setRate(wpm); } (new Thread(server)).start(); }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -