1
CMU sphinxライブラリを使用してサウンドを録音しています。私は私のJavaアプリケーションを開始すると、以下のように、私は一度だけ認識装置およびConfiguration Managerを割り当てる:マイクを使用してサウンドを一度録音できますが、マイクを初めて起動することはできません
cm = new ConfigurationManager(soundPart.class.getResource("hellongram.config.xml"));
recognizer = (Recognizer) cm.lookup("recognizer");
recognizer.allocate();
また、私は自分のアプリケーション内のレコードのサウンドボタンを持っています。ユーザーがクリックすると、次のコードを使用してサウンドを録音します。
Microphone microphone = (Microphone)MR.sp.cm.lookup("microphone");
if (!microphone.startRecording()) {
System.out.println("Cannot start microphone.");
MR.sp.recognizer.deallocate();
System.exit(1);
}
//MR.sp.pleaseStartSpeaking.setVisible(true);
while(true){
Result result = MR.sp.recognizer.recognize();
if(result!=null){
String resultText = result.getBestFinalResultNoFiller();
MR.sp.lblYouSearched.setVisible(true);
MR.sp.lblNewLabel.setVisible(true);
MR.sp.lblNewLabel.setText(resultText);
MR.textQuery = resultText.toLowerCase();
break;
}
}
これは初めてのことです。ただし、ユーザーが2回目に録音ボタンをクリックすると、「Can not start mic」というエラーが発生します。私はここで間違っています。 2回目にマイクを取得できない場合
サンプルコードを教えてもらえますか?ただ文書を見ても私を大いに助けてくれません – Programmer
また、私の上記のコードでは、私が記録したいときはいつでも、私はマイクを手に入れます。これには何が問題なのですか? – Programmer