sphinx4:在连接管理器处获取空指针异常

时间:2013-02-12 11:34:12

标签: java sphinx4

  

这里我得到空指针异常:ConfigurationManager cm = new   ConfigurationManager中(URL);

public static void main(String[] args) throws IOException,
        InstantiationException, ClassNotFoundException, SQLException {
    HelloWorld h = new HelloWorld();


    h.setVisible(true);
    try {
        URL url;

        if (args.length > 0)
            url = new File(args[0]).toURI().toURL();
        else {
            url = HelloWorld.class.getResource("helloworld.config.xml");
        }

        System.out.println("Loading...");
        ConfigurationManager cm = new ConfigurationManager(url);

        Recognizer recognizer = (Recognizer) cm.lookup("recognizer");
        Microphone microphone = (Microphone) cm.lookup("microphone");

        recognizer.allocate();

        if (microphone.startRecording()) {
            System.out.println("Say: Something");

            while (true) {
                String printOnTextArea = null;
                System.out
                        .println("Start speaking. Press Ctrl-C to quit.\n");

                Result result = recognizer.recognize();

                if (result != null) {
                    String resultText = result.getBestFinalResultNoFiller();

请让我知道如何解决这个问题。?

  

问题解决了,因为我已将配置文件放在HelloWorld.java的同一个包中   但是在识别器识别器=(识别器)cm.lookup(“识别器”)中找不到另一个类的例外;请告诉我如何解决它。?

2 个答案:

答案 0 :(得分:1)

我希望错误是因为url为null。

如果是这种情况

将文件放入包中

将文件路径设为

HelloWorld.class.getResource("package-name/helloworld.config.xml");

或者如果你还没有定义任何包,那么将文件放在src文件夹中。 希望这对你有用。

答案 1 :(得分:0)

这意味着您的变量 url包含值null 。由于new File(...)不会返回nullHelloWorld.class.getResource("helloworld.config.xml");会返回{{1}}。 确保此资源存在。