0

鉴于以下可以加载到 MS SAPI 5.1 中:

<GRAMMAR LANGID="409"> 
    <RULE NAME="top rule" TOPLEVEL="ACTIVE"> 
        <OPT>hello</OPT> 
        <P>my name is fred</P> 
    </RULE> 
</GRAMMAR>

我怎样才能以编程方式做同样的事情,特别是关于可选元素。

我猜它是在这里完成的:

state.AddWordTransition(nextState, "hello", " ", SpeechGrammarWordType.SGLexical, s, id, ref propValue, 1F);

...它可能是 propValue。但是语法是什么(例如, propValue="OPT=true" - 当然不起作用)

谢谢!

4

1 回答 1

0

可选词需要一个 epsilon(空)转换到下一个状态,所以添加:

state.AddWordTransition(nextState, NULL, NULL, SpeechGrammarWordType.SGLexical, s, id, ref propValue, 1F);

添加 epsilon 转换。

于 2010-09-13T18:11:55.537 回答