微软语音识别平台

2023-11-27

我使用 System.Speech 用 C# 编写了一个用于语音识别的应用程序,该应用程序在 Windows 7 上运行良好。 不过,我正在创建可在 Windows 2003 (x86) 上运行的相同应用程序。

我的编程环境: Windows 7 x64 专业版 视觉工作室2008

为了在我的编程环境中开发此应用程序,我安装了:

1.Microsoft语音平台-服务器运行时(版本10.1)(x86)

2.Microsoft语音平台-软件开发套件(SDK)(版本10.1)(x86)

3.Microsoft语音平台-服务器运行时语言(版本10.1)

(这里安装了 en-GB 的 SR)

在我的程序中,我使用了 Microsoft.Speech.Recognition,而不是 System.Speech;

从 SDK 文档中粘贴此代码:

using Microsoft.Speech.Recognition;

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
      // Create a new SpeechRecognitionEngine instance.
      sre = new SpeechRecognitionEngine();

      // Create a simple grammar that recognizes “red”, “green”, or “blue”.
      Choices colors = new Choices();
      colors.Add("red");
      colors.Add("green");
      colors.Add("blue");

      GrammarBuilder gb = new GrammarBuilder();
      gb.Append(colors);

      // Create the actual Grammar instance, and then load it into the speech recognizer.
      Grammar g = new Grammar(gb);
      sre.LoadGrammar(g);

      // Register a handler for the SpeechRecognized event.
      sre.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized);
      sre.SetInputToDefaultAudioDevice();
      sre.RecognizeAsync(RecognizeMode.Multiple);
    }

    // Simple handler for the SpeechRecognized event.
    void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      MessageBox.Show(e.Result.Text);
    }

    SpeechRecognitionEngine sre;
  }
}

我还在项目属性中将平台目标设置为 x86。代码可以编译,但是一旦我运行或调试它,识别就不起作用。知道我错过了什么吗?


您正在创建语音识别引擎而无需指定引擎。由于您已经安装了 en-GB 引擎,因此您需要指定一个文化信息 (or a 识别信息):

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

微软语音识别平台 的相关文章

随机推荐

  • 如果启动的进程打开,则应用程序退出后套接字不会关闭

    我的 C net 应用程序当前执行以下操作 除其他外 创建一个线程 在特定端口上打开套接字并等待指令 消息传入 套接字线程读取消息并引发事件 事件处理程序调用必要的函数来解析消息并执行必要的操作 例如启动应用程序 指定的外部 应用程序 异步
  • OpenHTMLToPDF:将自定义字体嵌入到由 HTML 创建的 PDF 中

    我使用 Jsoup 从 HTML 创建 PDF 并打开HTML转PDF 我必须在 PDF 中使用不同的字体来覆盖非拉丁字形 请参阅here 如何正确嵌入我的字体 重现问题的简化程序 src main resources test html
  • Json.Net 在序列化时弄乱了 DateTimeOffset 的时区

    我看过很多相关的问题 但似乎没有一个对我有用 我正在尝试以 UTC 格式序列化所有内容 这是我的代码 class Class1 static void Main Class2 foo new Class2 JObject json JObj
  • 如何获取 Angular $interval 的状态 - 检查间隔是否已取消

    我是 Angular 和 JS 的新手 有点困惑 我用以下命令启动计时器 var getOverviewMapTimer interval scope UpdateOverviewMap UPDATE FREQUENCY 而且 如果我理解的
  • 获取拖放到字段上的资源的 URL

    我有一个带有特定输入字段的 html 页面 我想添加以下功能 用户应该能够将资源拖放到字段上 此操作的结果应该是该资源的 url 出现在该字段中 该资源可能是本地文件 导致像这样的 urlfile home me document or f
  • C# 列表仅包含

    希望找出是否有一种简单的方法来检查列表是否只包含某些列表值 例如 如果我有一个可以随机包含不同整数 1 10 即 1 3 7 或 2 3 4 6 8 9 的 int 列表 并且我想检查该列表是否仅包含 int 1和 或 5 1 或 5 或
  • PHP 访问另一个类中的类

    所以我有两个这样的课程 class foo code here foo new foo class bar global foo public function bar echo foo gt something 我想在所有方法 bar 中
  • 在seaborn条形图中绘制百分比

    对于数据框 import pandas as pd df pd DataFrame group list AADABCBCCCD Values 1 0 1 0 1 0 0 1 0 1 0 我正在尝试绘制一个显示时间百分比的条形图A B C
  • 403 tweepy 错误

    我正在尝试使用 tweepy 来使用 Python 操作 Twitter 帐户 但我似乎在第一个障碍上就失败了 无论我尝试什么 我都会收到 403 错误 但没有具体细节 import tweepy Consumer keys and acc
  • 谷歌地图:检索附近地铁站的纬度和经度?

    当查看纽约的谷歌地图时 我们可以看到很多地铁站 如何获取附近地铁站的数据 例如 我发送一个包含我所在位置的经纬度和距离半径的请求 它会返回给定距离内的地铁站 您可以使用地方图书馆为了这 通过喂养type进入请求 您可以查看支持的类型在这里
  • JavaScript 确认取消按钮不会停止 JavaScript

    我有一个删除按钮 该按钮与我所拥有的页面上的一些评论相关联 当您单击删除按钮时 我试图弹出一个确认对话框 询问您是否确定要删除评论 单击 确定 应运行删除注释的功能 单击 取消 不应运行该功能 而只是关闭对话框 这是我的代码 onclick
  • 为什么你应该更喜欢未命名的命名空间而不是静态函数?

    C 的一个特性是能够创建未命名 匿名 名称空间 如下所示 namespace int cannotAccessOutsideThisFile namespace 您可能会认为这样的功能毫无用处 因为您无法指定名称空间的名称 所以不可能从外部
  • 从二进制 dll 文件中删除 C++ 类名

    我在 Visual Studio 2010 下有一个 C 项目 它编译成 dll 我在我的项目中定义了几个私有的特定于实现的类 例如CMyClass 该类不是从 dll 或任何接口函数导出的 但是 当我检查生成的dll文件时 其中存储了一个
  • 更改子视图控制器

    我有一个视图控制器 当我按下按钮时 会出现一个子视图控制器 这工作得很好 但如果我按下其中的下一个按钮来执行两步登录 我想将此子视图控制器更改为另一个子视图控制器 任何想法 因为从主视图控制器我知道如何显示孩子 但从孩子我不知道该怎么做 如
  • 布尔运算符与按位运算符

    我很困惑何时应该使用布尔运算符和按位运算符 and vs or vs 有人可以告诉我何时使用其中一种以及何时使用其中一种会影响我的结果吗 以下是一些指导原则 布尔运算符通常用于boolean值 但通常使用按位运算符integer value
  • 如何在windowmanager中添加tinymce列表框值

    我打开一个窗口管理器并添加一个文本字段和列表框 editor windowManager open title Insert caption body type textbox name text label text multiline
  • iPhone 在运行时创建 SQLite 数据库?

    我发现的大多数 sqlite 示例都讨论首先从命令行创建 db 文件 然后将其添加到您的应用程序中 对于我的项目 我希望能够在应用程序第一次启动时创建数据库 然后将其保存到用户沙箱中的数据库文件中 有没有办法做到这一点 您可以在应用程序启动
  • Angularjs 在应用程序启动时启动 http 请求的合适时机

    我两天前刚刚开始学习 Angularjs 一个问题困扰了我两天 我需要在应用程序启动时向服务器发出 http 请求以获取一些数据 但我找不到合适的时机来执行此操作 我试过做一个controller 这称为 http get 但这不起作用 如
  • 如何从存储过程返回多行? (Oracle PL/SQL)

    我想创建一个带有一个参数的存储过程 它将根据参数返回不同的记录集 有什么方法可以做到这一点 我可以从普通 SQL 中调用它吗 以下是如何构建一个返回结果集的函数 该结果集可以像表一样进行查询 SQL gt create type emp o
  • 微软语音识别平台

    我使用 System Speech 用 C 编写了一个用于语音识别的应用程序 该应用程序在 Windows 7 上运行良好 不过 我正在创建可在 Windows 2003 x86 上运行的相同应用程序 我的编程环境 Windows 7 x6