如何加载在一个SAPI 5.4 C#程序的文本语法?

我一直在使用SRGS语法与SAPI 5.4定义的命令和控制语法。 现在我想切换到文本语法所以他们会与SAPI 5.1兼容的(甚至可能是SAPI 4?)。

我发现了一个SAPI 5.4兼容的文本语法的例子在这里

我想加载语法从它的XML文件在运行时,而不是使用语法编译工具,然后包括语法作为一种资源的二进制版本。 理想情况下,我想能够在内存中创建一个XDocument,然后让Speech.Recognizer听这些命令。

有谁知道如何做到这一点? 谢谢!

--------------解决方案-------------

要使用文本文法,你必须直接与SAPI COM交互(通过包括微软语音对象库) - 而不是仅仅使用更高级别的System.Speech。

所以,如果你复制的文本语法联系到上面,并保存为sol.xml(这是SAPI SDK样本中),你可以用下面的代码加载:

SpSharedRecoContext reco = new SpSharedRecoContext();
ISpeechRecoGrammar grammar;
grammar = reco.CreateGrammar();
grammar.CmdLoadFromFile("sol.xml");
grammar.CmdSetRuleIdState(0, SpeechRuleState.SGDSActive);

我测试的代码与XP(5.1),维萨(5.3)和7(5.4)。

分类:C# 时间:2012-01-01 人气:0
本文关键词: C#,XML,SAPI
分享到:

相关文章

  • d3.js通过setInterval的使用jQuery及时更新自动获得(JSON,XML,文本,等等) 2013-02-17

    任何人都可以如何使用jQuery的获取 (JSON,TXT,XML,等等)和setInterval(d3.js),这样我可以更新我的D3条形图每隔N秒帮忙吗? 还是没有人知道在那里一个例子,它使用一个RESTful 打通的setInterval在D3 SVGs更新的数据? 我读过这个教程一整天,但不是如何将代替随机游走JSON点击. 提前谢谢了.... 我的失败尝试: <!DOCTYPE html> <html> <head> <meta http-equiv=&

  • Ruby on Rails的,XML,AJAX,Perl的好面试问题 2013-12-13

    我试图制订一套15到25个问题要问的一些应用在我们公司的人. 你们可以抛出一些关于Ruby,XML,AJAX,或Perl好的问题? 这是初级的位置. 我想只是一些简单的问题,但在同一时间,他们可以是一个小具有挑战性. 你知道小答案,但需要良好的知识. --------------解决方案------------- 可以用Ruby写的"嘶嘶声嗡嗡"? Perl的一些问题: 哪些参数你经常使用的perl解释和他们是什么意思. 并命令是什么use strict做,为什么你应该使用它? 什么样

  • PHP,XML,呼应当重复属性的问题 2012-06-27

    我有一个xml文件通过PHP被呼应,所有的代码工作正常,但我的问题是,标签内(考试和属性是什么正在呼应章)有不止一个标签(例如,这就是被回显为考试#)和我的数据呼应了桌上,我希望它是这样显示的: | 第1章| 第2章| | --Exam 1 --- | --Exam 1 --- | | --Exam 2 --- | --Exam 2 --- | | 第3章| 第4章| | --Exam 1 --- | --Exam 1 --- | 不过,我所得到的是这样的:(我知道为什么虽然) | 第1章| |

  • 关于开发一个闪光的网站( - 为了SWF,XML,etc-特别是加载)的指导方针? 2015-01-31

    我想知道,如果你人在那里可以帮助我,关于最佳做法或用于创建Flash网站的更好的方法. 其实我想知道我们是否应该加载XML,然后再对SWF和其他组件或其他方式轮? 我有点糊涂了,即使任何人都可以参考有关的发展它会极大的帮助一些书经的步骤或最常见的做法挖. --------------解决方案------------- 这是一个很广泛的问题,更是一个讨论的问题是可能不适合#1的问题/答案的结构. 我可以回答一些你,尽管提到的具体观点. 如果你想要一个基于Flash的网站,使用XML来装载一堆外部内

  • 如何使用服务器,XML,电子邮件错误日志存储进程上ELMAH 2012-12-14

    使用ELMAH可以保存错误日志数据库,电子邮件,XML.它们单独效果很好.我想在together.Suppose工作,在我的配置文件,我可以能比我不能主动XML日志,但我想工作的活动服务器日志两个.如何做. <elmah> <!-- Change this to 1 to allow remote access. If you do, be sure to lock down the elmah.axd file! --> <security allowRemoteAcces

  • Python数据结构:SQL,XML,或.py文件 2013-04-21

    什么是存储大量的Python数据的最佳方式,给出一个(或两个)500000项+用于无向图搜索的字典? 我一直在考虑一些选择,如存储数据的XML: <key name="a"> <value data="1" /> <value data="2" /> </key> <key name="b"> ... 或者直接进入一个Python文件: db = {"a&q

  • 修改的码,因此它可以在一次加载多个XML文件。 完整的PHP,XML,XSLT代码给出 2013-07-28

    我想建立一个脚本,得到不同结构的XML,并创建一个包含所有数据的一个唯一的XML. 关键的一点是,使用XSLT我重命名/因为正如我所说源XML的有不同的结构转换节点/元素. 因此,新产生的XML有一个通用的结构,对我来说,正确使用. 我的问题是我怎么能修改此产生多个我的XML的结果? 该XML的将是相对或绝对路径. <?php // create an XSLT processor and load the stylesheet as a DOM $xproc = new XsltProcess

  • 转换CSV文件,XML,然后FTP服务器定期 2013-10-22

    我试图做的,我真的不能找到如下: 我要定期(例如:每5分钟)转换成一个CSV文件转换成XML在网上没有我不得不做一些事情或下载CSV将其转换为XML,并重新上传到FTP服务器每5分钟. 我真的不能找到一个计划,这是否和真的不想写自己,所以也许有人可以点我在正确的方向. --------------解决方案------------- 这里是这个网站确实是相当方便的. http://www.creativyst.com/Prod/15/编程,请尝试使用谷歌应用程序引擎或使用ADO.Net查询Exce

  • 为什么火狐承认我的XML数据,XML,但IE浏览器和Chrome把它看作是明文? 2014-01-26

    我的后端程序产生一些XML数据,并将它们发送到客户端. 后端的反应是这样的: print $cgi->header("Content-type: text/xml;charset=utf-8"); print "<?xml version='1.0' encoding = 'utf-8'?>"; < correct XML data goes here > 当我尝试想象在Firefox中发送XML,它获得了整个事情,一切都很好. 但是,

  • sqlite的,XML,或者兼而有之? 2014-08-09

    我设计一个系统,可以通过立法的有关条款搜索和我在搞清楚存储数据的最佳方式有些困难. 这里有标准: 有关立法是一个树状结构. 每一幕中包含部分,其中可能有小节任何深度(如ACT1:2.1.ac). 在每个级别每个部分或小节是一个单一的条款. 法案还可能包含法规,这是基本annexures,并包含一套相似的部分和小节的. 每一个行为,并规定在其​​生效(不一定相同)的日期. 结构的一个简单的例子是: Act1: "Act controlling something" (2001) Sect

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 5.215 (s). 10 q(s)