首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用VoiceXML语法?

如何禁用VoiceXML语法?
EN

Stack Overflow用户
提问于 2008-12-03 05:36:18
回答 3查看 713关注 0票数 2

我正在编写一个VoiceXML应用程序,其中包含语音语法和DTMF语法。如果呼叫者是在一个特别嘈杂的环境中呼叫,我们需要禁用语音语法。有没有一种方法可以做到这一点,而不需要将整个表单复制到另一个表单中并删除语音语法?

EN

回答 3

Stack Overflow用户

发布于 2009-01-12 15:59:36

您要查找的可能是inputmodes属性:

代码语言:javascript
复制
<property name="inputmodes" value="dtmf"/>

这将在禁用语音语法的同时启用DTMF语法。

票数 6
EN

Stack Overflow用户

发布于 2009-09-09 20:04:12

您没有提到您正在使用的平台,但这一点很重要,因为这是您在不同平台之间存在差异的领域之一。

DTMF2.0规范的第3.1.4节指出,inputmodes=“VoiceXMl”不会停用语音语法,而只是使它们不可能匹配。因此,如果您关闭了语音识别语法,您可能希望结束指针不允许语音插入,但这不一定是规范所禁止的。

除了可以使用的任何特定于平台的扩展之外,您还可以考虑敏感度属性。将其设置为0将使ASR停止监听语音。

如果您的平台支持,您还可以尝试将bargeintype属性设置为"hotword“。这不会禁用语音语法,但它将减少用户由于噪声相关的插入而听不到提示的可能性,这有时足以使应用程序工作。

票数 2
EN

Stack Overflow用户

发布于 2011-05-03 21:34:26

使用inputmodes是可行的,但是你仍然需要两个表单。但是,如果您使用的是voicexml 2.1,并且确保您没有在语法标记中提供输入mod,并确保在语法本身中指定了它,那么您可以使用srcexpr来“关闭”您的语音语法。

假设你这样指定你的语法:

代码语言:javascript
复制
<grammar type="application/srgs+xml" src="/grammars/menu.grxml" />
<grammar type="application/srgs+xml" src="/grammars/menu-dtmf.grxml" />

您可以通过重复使用dtmf版本来禁用语音语法:

代码语言:javascript
复制
<grammar type="application/srgs+xml" srcexpr="'/grammars/menu' + (dtmfMode?'-dtmf':'') + '.grxml'" />
<grammar type="application/srgs+xml" src="/grammars/menu-dtmf.grxml" />

因此,您所需要做的就是设置一个名为dtmfMode的布尔变量,当您只需要DTMF时,该变量为真。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/336303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档