Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java语言中的语音识别_Java_Speech Recognition_Javax.speech - Fatal编程技术网

java语言中的语音识别

java语言中的语音识别,java,speech-recognition,javax.speech,Java,Speech Recognition,Javax.speech,我想在我的项目中使用语音识别,我发现了这段代码,但当我运行它时,我得到了一个错误,它是: 请你们中的一位帮我解决这个问题好吗 这是我使用的服务器代码: package newpackage; import java.util.logging.Level; import java.util.logging.Logger; import javax.speech.*; import javax.speech.recognition.*; import java.io.FileReader; imp

我想在我的项目中使用语音识别,我发现了这段代码,但当我运行它时,我得到了一个错误,它是:

请你们中的一位帮我解决这个问题好吗

这是我使用的服务器代码:

package newpackage;

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.speech.*;
import javax.speech.recognition.*;
import java.io.FileReader;
import java.util.Locale;

public class HelloWorld extends ResultAdapter {
  static Recognizer rec;

  // Receives RESULT_ACCEPTED event: print it, clean up, exit
  public void resultAccepted(ResultEvent e) {
    Result r = (Result)(e.getSource());
    ResultToken tokens[] = r.getBestTokens();

    for (int i = 0; i < tokens.length; i++)
      System.out.print(tokens[i].getSpokenText() + " ");

    System.out.println();
    try {
          // Deallocate the recognizer and exit
          rec.deallocate();
    } catch (EngineException ex) {
          Logger.getLogger(HelloWorld.class.getName()).log(Level.SEVERE, null, ex);
    } catch (EngineStateError ex) {
          Logger.getLogger(HelloWorld.class.getName()).log(Level.SEVERE, null, ex);
    }
    System.exit(0);
  }

  public static void main(String args[]) {
    try {
      // Create a recognizer that supports English.
      rec = Central.createRecognizer(
              new EngineModeDesc(Locale.ENGLISH));

      // Start up the recognizer
      rec.allocate();

      // Load the grammar from a file, and enable it
      FileReader reader = new FileReader(args[0]);
      RuleGrammar gram = rec.loadJSGF(reader);

      gram.setEnabled(true);

      // Add the listener to get results
      rec.addResultListener(new HelloWorld());

      // Commit the grammar
      rec.commitChanges();

      // Request focus and start listening
      rec.requestFocus();
      rec.resume();
    } catch (Exception e) {
      e.printStackTrace();
          // System.out.println("the problem");
    }
  }
}
package-newpackage;
导入java.util.logging.Level;
导入java.util.logging.Logger;
导入javax.speech.*;
导入javax.speech.recognition.*;
导入java.io.FileReader;
导入java.util.Locale;
公共类HelloWorld扩展ResultAdapter{
静态识别器;
//接收结果\u已接受事件:打印、清理、退出
公共无效结果接受(结果事件e){
结果r=(结果)(e.getSource());
ResultToken令牌[]=r.getBestTokens();
for(int i=0;i
如果(rec!=null){
系统输出打印项次(rec);
}
否则{
System.out.println(“rec为空”);
//重写

// Create a recognizer that supports English.
      rec = Central.createRecognizer(
              new EngineModeDesc(Locale.ENGLISH));
如下

            SynthesizerModeDesc desc = new SynthesizerModeDesc(
            null,          // engine name
            "general",     // mode name
            Locale.US,     // locale
            null,          // running
            null);         // voice

     synth = Central.createSynthesizer(desc);

现在我看到了错误。我也应该看到,但我对缩进和结尾的两个大括号太困惑了。@Alessandro Minoccheri,我可以在那里下载我需要的所有libraries.jar
// Create a recognizer that supports English.
      rec = Central.createRecognizer(
              new EngineModeDesc(Locale.ENGLISH));
            SynthesizerModeDesc desc = new SynthesizerModeDesc(
            null,          // engine name
            "general",     // mode name
            Locale.US,     // locale
            null,          // running
            null);         // voice

     synth = Central.createSynthesizer(desc);