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