java中的语音识别

2024-05-28

我想在我的项目中使用语音识别,我找到了这段代码,但是当我运行它时,我收到一个错误:

run: java.lang.NullPointerException
        at newpackage.HelloWorld.main(HelloWorld.java:55)

请问你们中有人能帮我解决这个问题吗?

这是我使用的服务器代码:

package newpackage;

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.speech.*;
import javax.speech.recognition.*;
import java.io.FileReader;
import java.util.Locale;

public class HelloWorld extends ResultAdapter {
  static Recognizer rec;

  // Receives RESULT_ACCEPTED event: print it, clean up, exit
  public void resultAccepted(ResultEvent e) {
    Result r = (Result)(e.getSource());
    ResultToken tokens[] = r.getBestTokens();

    for (int i = 0; i < tokens.length; i++)
      System.out.print(tokens[i].getSpokenText() + " ");

    System.out.println();
    try {
          // Deallocate the recognizer and exit
          rec.deallocate();
    } catch (EngineException ex) {
          Logger.getLogger(HelloWorld.class.getName()).log(Level.SEVERE, null, ex);
    } catch (EngineStateError ex) {
          Logger.getLogger(HelloWorld.class.getName()).log(Level.SEVERE, null, ex);
    }
    System.exit(0);
  }

  public static void main(String args[]) {
    try {
      // Create a recognizer that supports English.
      rec = Central.createRecognizer(
              new EngineModeDesc(Locale.ENGLISH));

      // Start up the recognizer
      rec.allocate();

      // Load the grammar from a file, and enable it
      FileReader reader = new FileReader(args[0]);
      RuleGrammar gram = rec.loadJSGF(reader);

      gram.setEnabled(true);

      // Add the listener to get results
      rec.addResultListener(new HelloWorld());

      // Commit the grammar
      rec.commitChanges();

      // Request focus and start listening
      rec.requestFocus();
      rec.resume();
    } catch (Exception e) {
      e.printStackTrace();
          // System.out.println("the problem");
    }
  }
}

重写

// Create a recognizer that supports English.
      rec = Central.createRecognizer(
              new EngineModeDesc(Locale.ENGLISH));

如下

            SynthesizerModeDesc desc = new SynthesizerModeDesc(
            null,          // engine name
            "general",     // mode name
            Locale.US,     // locale
            null,          // running
            null);         // voice

     synth = Central.createSynthesizer(desc);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java中的语音识别 的相关文章

随机推荐

  • 如何从时区名称获取时区偏移量

    我有一个时区名称 例如America Vancouver保存在 SQL Server 数据库中 我想从 SQL 中的时区名称获取 UTC 偏移量 例如America Vancouver has 08 00抵消 那么如何用 SQL 编写查询呢
  • 如何将 JsonNode 转换为 ObjectNode

    我有一个com fasterxml JsonNode带有一些数据的对象 我需要对其数据进行一些操作 我用谷歌搜索答案但没有得到正确的答案 您能建议我如何操作 JsonNode 数据吗 我也尝试过转换JsonNode to ObjectNod
  • C++:如何构建没有 void 指针的事件/消息系统?

    我希望在我的 C 项目中拥有一个动态消息传递系统 其中有一个固定的现有事件列表 事件可以在运行时的任何地方触发 并且您可以在其中订阅某些事件的回调函数 应该有一个选项可以在这些事件中传递参数 例如 一个事件可能不需要任何参数 EVENT E
  • Angular 中的单元测试点击事件

    我正在尝试将单元测试添加到我的 Angular 2 应用程序中 在我的一个组件中 有一个带有 click 处理程序 当用户单击按钮时 将调用在中定义的函数 ts类文件 该函数在 console log 窗口中打印一条消息 表明该按钮已被按下
  • 在所有延迟的作业之前挂钩

    是否可以在所有delayed job任务之前运行一个方法 基本上 我们试图确保每台运行delayed job的服务器都有我们代码的最新实例 因此我们希望运行一个方法来在每个作业运行之前检查这一点 我们已经有了 check 方法并在其他地方使
  • 如何每隔一行读取 CSV 文件

    如何从 CSV 文件中每 2 行获取数据 例如 如果我有一个看起来像这样的文件 0 1 0 23 34 1 45 45 2 78 16 3 110 78 4 48 14 5 76 23 6 55 33 7 12 13 8 18 76 如何迭
  • 我可以向 DOM 对象添加任意属性吗?

    我可以向 JavaScript DOM 对象添加任意属性 例如
  • React - 能够通过 props 控制 SVG 的填充颜色

    我有一个 SVG 这里称为 example svg 它作为组件被调用和创建 如下所示 import ReactComponent as Example from example svg import styles from index mo
  • Blazor / SVG 实时更新

    我正处于使用 Blazor 开发实时 Web 应用程序的早期阶段 目的是在网页上显示与某些设备的状态有关的实时状态更新 它是机器的 HMI 可以将其视为具有实时数据更新的仪表板 机器的图形模型将使用 SVG 完成并托管在应用程序中 我正在尝
  • Ruby On Rails 与 Windows Vista - 最佳设置? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 您认为 Win Vista 环境中 RoR 的最佳设置是什么 我尝试过 radrails eclipse 插件 它对我来说似乎太庞大了 我也开始
  • Roslyn 将内容嵌入到程序集中

    是否可以嵌入content使用 roslyn 进入程序集 嵌入资源效果很好 但不知道如何添加内容 我添加这样的资源 foreach string file in Directory GetFiles inputPath Where item
  • 只有一组多次捕获

    String 50 60 70 50 1 7 9 51 5 9 10 Want 9 51 Tried G K d Result 1 7 9 51 看来您正在使用 PCRE 正则表达式来获取可以在内部数学运算符前面添加的数字 没有内在的 Us
  • 如何通过 Viber 和 google Hangout 分享可绘制图像?

    当我通过 Whatsapp 分享图像时 我的代码工作正常 但对于 Viber 和 google Hangout 我收到 找不到照片 错误 这是我的代码 int ImageResourse imageAdapter mThumbIds pos
  • setuptools 并将选项传递给依赖项

    我正在尝试为 pypi 打包一个模块 并且我将 Mercurial 作为依赖项之一 目标计算机可能有也可能没有构建工具 因此我想使用 pure 选项安装 Mercurial 但我找不到指示 setup py 以指定方式安装依赖项的方法 除了
  • 预增量没有按我的预期工作

    我正在尝试通过在线解决一些问题来学习动态规划 我遇到的一个问题需要处理以下输入 4 10 3 4 4 5 6 7 5 7 第一个指向项目数量 第二个指向总容量 其余四个 成对 现在应该指向价值和容量 我遇到的问题是解析它的代码 includ
  • 如何在 Fluent NHibernate ClassMap 类中指定表名?

    我是 NHibernate 的新手 正在尝试使用 Fluent 进行映射 我的实体类名称与它必须映射到的数据库表名称不同 我正在使用派生的映射类ClassMap lt gt 但我无法指定表名 属性TableName from ClassMa
  • jQuery 验证在 IE7 + IE8 中不起作用

    我正在尝试使用jQuery 验证 http bassistance de jquery plugins jquery plugin validation 我网站上的表单上的插件 该表单适用于 FF Chrome Opera 和 Safari
  • 使用 JavaScript 获取图像的一部分

    是否可以显示图像的任何部分img通过 JavaScript 标记 带有像素 我将准备一个大图像 例如 32x320 像素 并定义起始位置 X Y 例如 0 32 和宽度 高度 例如 32 32 并且希望脚本显示第二个 32x32 像素 部分
  • 如何编辑范围? // Google Classroom 控制 Google Apps 脚本中学生访问的权限范围

    我是一名高中老师 正在针对 Google Classroom 编写 Google Apps 脚本 我想创建一个类似于学生成绩视图的电子表格 我的学生可以使用他们的凭据进行访问 我已经成功编写了代码 这样我就可以通过在代码中显式放置学生的 I
  • java中的语音识别

    我想在我的项目中使用语音识别 我找到了这段代码 但是当我运行它时 我收到一个错误 run java lang NullPointerException at newpackage HelloWorld main HelloWorld jav