【发布时间】:2023-03-11 02:35:01
【问题描述】:
我正在尝试运行 Sphinx 的 HelloWOrd 程序,它需要一个 .jar 文件才能工作。
我试图在类路径中添加一个 jar 文件,但我遇到了一些错误
contend.util 不存在 导入 edu.cmu.sphinx.frontend.util.Microphone; ^ home/karen/workspace/hola/src/hola/HelloWorld.java:4: 包 edu.cmu.sphinx.recognizer 不存在 导入edu.cmu.sphinx.recognizer.Recognizer; ^ home/karen/workspace/hola/src/hola/HelloWorld.java:5: 包 edu.cmu.sphinx.result 不存在 导入edu.cmu.sphinx.result.Result; ^ home/karen/workspace/hola/src/hola/HelloWorld.java:6: 包 edu.cmu.sphinx.util.props 不存在 导入edu.cmu.sphinx.util.props.ConfigurationManager; ^ home/karen/workspace/hola/src/hola/HelloWorld.java:11:找不到符号 符号:类 ConfigurationManager 位置:类hola.HelloWorld 配置管理器厘米; ^ home/karen/workspace/hola/src/hola/HelloWorld.java:14:找不到符号 符号:类 ConfigurationManager 位置:类hola.HelloWorld cm = new ConfigurationManager(args[0]); ^ home/karen/workspace/hola/src/hola/HelloWorld.java:16:找不到符号 符号:类 ConfigurationManager 位置:类hola.HelloWorld cm = new ConfigurationManager(HelloWorld.class.getResource("helloworld.config.xml")); ^ home/karen/workspace/hola/src/hola/HelloWorld.java:19:找不到符号 符号:类识别器 位置:类hola.HelloWorld 识别器recognizer = (Recognizer) cm.lookup("recognizer"); ^ home/karen/workspace/hola/src/hola/HelloWorld.java:19:找不到符号 符号:类识别器 位置:类hola.HelloWorld 识别器recognizer = (Recognizer) cm.lookup("recognizer"); ^ home/karen/workspace/hola/src/hola/HelloWorld.java:23:找不到符号 符号:麦克风类 位置:类hola.HelloWorld 麦克风麦克风 = (麦克风) cm.lookup("麦克风"); ^ home/karen/workspace/hola/src/hola/HelloWorld.java:23:找不到符号 符号:麦克风类 位置:类hola.HelloWorld 麦克风麦克风 = (麦克风) cm.lookup("麦克风"); ^ home/karen/workspace/hola/src/hola/HelloWorld.java:36:找不到符号 符号:类结果 位置:类hola.HelloWorld 结果result=recognizer.recognize(); ^ 12个错误
我的问题是: 我必须添加所有需要我的项目的包还是只添加 jar 文件和主类?
请推荐!
这是 HelloWord 程序:
打包好;
import edu.cmu.sphinx.frontend.util.Microphone;
import edu.cmu.sphinx.recognizer.Recognizer;
import edu.cmu.sphinx.result.Result;
import edu.cmu.sphinx.util.props.ConfigurationManager;
public class HelloWorld {
public static void main(String [] args){
System.out.println("VIcente y karen");
ConfigurationManager cm;
System.out.println("Karen entiende esto");
if (args.length > 0) {
cm = new ConfigurationManager(args[0]);
} else {
cm = new ConfigurationManager(HelloWorld.class.getResource("helloworld.config.xml"));
}
Recognizer recognizer = (Recognizer) cm.lookup("recognizer");
recognizer.allocate();
// start the microphone or exit if the programm if this is not possible
Microphone microphone = (Microphone) cm.lookup("microphone");
if (!microphone.startRecording()) {
System.out.println("Cannot start microphone.");
recognizer.deallocate();
System.exit(1);
}
System.out.println("Say: (Good morning | Hello) ( Bhiksha | Evandro | Paul | Philip | Rita | Will )");
// loop the recognition until the programm exits.
while (true) {
System.out.println("Start speaking. Press Ctrl-C to quit.\n");
Result result = recognizer.recognize();
if (result != null) {
String resultText = result.getBestFinalResultNoFiller();
System.out.println("You said: " + resultText + '\n');
} else {
System.out.println("I can't hear what you said.\n");
}
}
}
}
【问题讨论】:
-
您的程序需要的所有 jars 都必须添加到类路径中。
-
我只有 1 个 jar 文件,但我的项目依赖于一些包。我必须添加这些包?
-
最好把Hello World程序贴出来让我们了解你的编码是否正确。
-
您使用的是 IDE 吗?如果是,是哪一个,你是如何将你的 jar 文件“添加”到类路径的?
-
是的,我正在使用 Eclipse IDE 并正在添加以下命令:
标签: java classpath voice-recognition cmusphinx