私はJavaプログラミングにまったく慣れていないので、オンラインで読んだり、あちこちでJavaプログラミングの本をいくつか購入したりして独学しています。
しかし、私が数週間取り組んできた音声認識プログラムを構築するときに問題が発生しています。それは私にnullpointer exception at the rec.addresultlistener
コーディング行を与えていますが、その理由はまったくわかりません。私の知る限り、その行はプログラムに入力をリッスンして文法と照合するように指示するためです。このプログラムは以前、コーディング行で同じエラーを出していました rec.allocate()
が、null を宣言することで修正されました。これもnullとして宣言することになっていますか?
誰かがここで私を助けて、理由も説明してもらえますか?
//Create a recognizer that supports English
rec = Central.createRecognizer( new EngineModeDesc (Locale.ENGLISH));;
//Start up the recognizer
if(rec!=null){
rec.allocate();
//Load the grammar from a file, and enable it
System.out.println(new File(".").getAbsoluteFile());
FileReader reader = new FileReader("grammar2.0");
if (reader != null) System.out.println("no file");;
System.out.println(reader);
RuleGrammar gram = rec.loadJSGF(reader);
gram.setEnabled(true);
}
//Add the listener to get results
rec.addResultListener(new speech());
//commit the grammar
rec.commitChanges();
//Request focus and start listening
rec.requestFocus();
rec.resume();