1
我正在使用CMU sphinx庫來錄製聲音。當我開始我的Java應用程序,我分配的識別器和配置管理器只有一次如下:可以使用麥克風錄製一次聲音,但不能第二次啓動麥克風
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;
}
}
這是我第一次使用它。但是,如果用戶第二次單擊錄製按鈕,則會引發錯誤「無法啓動麥克風」。我在這裏做錯了什麼。爲什麼我無法第二次獲得麥克風
請你給我一些示例代碼。只是看文檔並沒有多大幫助 – Programmer 2012-04-05 04:26:14
此外,在我上面的代碼中,每當我想記錄時,我都會得到麥克風。這有什麼問題? – Programmer 2012-04-05 04:33:37