语音识别语法不适用于多个项目
Speech Recognition Grammar not working with multiple items
我有以下语法,如果我删除行 <item>notepad++</item>
一切都按预期运行,但是当我添加它时没有任何识别。我正在使用 Microsoft 网站上的示例:link
<?xml version="1.0" encoding="UTF-8" ?>
<grammar version="1.0" xml:lang="en-US" mode="voice" root="open"
xmlns="http://www.w3.org/2001/06/grammar" tag-format="semantics/1.0">
<rule id="open">
<item>open <ruleref uri="#progs"/></item>
</rule>
<rule id="progs">
<item>google <ruleref uri="#googleServices"/></item>
<item>notepad</item>
</rule>
<rule id="googleServices">
<one-of>
<item>inbox<tag>INBOX_URL</tag></item>
<item>drive<tag>DRIVE URL</tag></item>
<item>music<tag>MUSIC URL</tag></item>
</one-of>
</rule>
</grammar>
我的目标是说 "open notepad" 或 "open google inbox" 并让语法响应。
根据 specification 看来您需要 one-of
指定只有一个 item
应该匹配:
<rule id="progs">
<one-of>
<item>google <ruleref uri="#googleServices"/></item>
<item>notepad</item>
</one-of>
</rule>
我有以下语法,如果我删除行 <item>notepad++</item>
一切都按预期运行,但是当我添加它时没有任何识别。我正在使用 Microsoft 网站上的示例:link
<?xml version="1.0" encoding="UTF-8" ?>
<grammar version="1.0" xml:lang="en-US" mode="voice" root="open"
xmlns="http://www.w3.org/2001/06/grammar" tag-format="semantics/1.0">
<rule id="open">
<item>open <ruleref uri="#progs"/></item>
</rule>
<rule id="progs">
<item>google <ruleref uri="#googleServices"/></item>
<item>notepad</item>
</rule>
<rule id="googleServices">
<one-of>
<item>inbox<tag>INBOX_URL</tag></item>
<item>drive<tag>DRIVE URL</tag></item>
<item>music<tag>MUSIC URL</tag></item>
</one-of>
</rule>
</grammar>
我的目标是说 "open notepad" 或 "open google inbox" 并让语法响应。
根据 specification 看来您需要 one-of
指定只有一个 item
应该匹配:
<rule id="progs">
<one-of>
<item>google <ruleref uri="#googleServices"/></item>
<item>notepad</item>
</one-of>
</rule>