【问题标题】:How do I load a Grammar xml file that uses SAPI 5.3 tags?如何加载使用 SAPI 5.3 标签的语法 xml 文件?
【发布时间】:2009-02-13 15:46:59
【问题描述】:

我的问题是如何加载使用他们在 MSDN 文档中列出的标签的语法文件? 我想使用 MSDN 中标题语法格式标签 (SAPI 5.3) 下记录的格式标签。

http://msdn.microsoft.com/en-us/library/ms723634(VS.85).aspx

它列出了 DEFINE、LIST、OPT 等标签。但是,每当我尝试在 Grammar.xml 文件中使用这些标签时,我都会收到一条错误消息,指出不支持该标签。

如果使用仅使用标签 one-of、item 等的语法文件。这些在 MSDN 中列出;语法文件加载。

http://msdn.microsoft.com/en-us/library/ms870140.aspx

我知道这可能很简单,但我似乎无法弄清楚...

语法文件...有效

  <grammar xmlns="http://www.w3.org/2001/06/grammar"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.w3.org/2001/06/grammar
                                http://www.w3.org/TR/speech-grammar/grammar.xsd"
            xml:lang="en-US" version="1.0" root="command">


  <rule id="command" scope="public">

    <one-of>
      <item>nail</item>
      <item>hammer</item>
      <item>saw</item>
    </one-of>
  </rule>

   </grammar>

代码清单-------

    public Form1()
    {

        InitializeComponent();

        // set up the recognizer
        _speechRecognizer = new SpeechRecognizer();
        _speechRecognizer.Enabled = false;
        _speechRecognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(_speechRecognizer_SpeechRecognized);

        // set up the command and control grammar
        Grammar commandGrammar = new Grammar(@"grammar.xml");
        commandGrammar.Name = "main command grammar";
        commandGrammar.Enabled = true;

        // activate the command grammer
        _speechRecognizer.LoadGrammar(commandGrammar);

        _speechRecognizer.Enabled = true;
    } 

【问题讨论】:

    标签: .net xml sapi


    【解决方案1】:

    您似乎使用的是 c#,因此是语音系统的 .NET 接口。据我所知,.NET 接口仅明确支持 W3C SRGS XML 语法格式, http://www.w3.org/TR/speech-grammar/。虽然您链接到的语法格式是 MS 特定格式,但他们似乎将其称为 CFG。只有较低级别的 COM API 提供了 CFG 格式的详细信息。

    您应该能够在 SRGS 中执行与在 CFG 中相同的操作。

    您可以在使用 SDK 工具编译后加载 CFG 的二进制版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      相关资源
      最近更新 更多