{block>内部出现的<prompt>元素与<field>有什么区别?

时间:2019-07-10 17:29:37

标签: voicexml

当前了解:

据我了解,<prompt>元素的功能是定义要播放的提示音频,然后系统等待用户发声。我的印象来自VoiceXML 2.0 specification for prompts

  

从概念上讲,提示会立即排队等待播放,因此解释将继续进行,直到用户需要提供输入为止。此时,将播放提示,系统等待用户输入。

此外,我了解到<block><field>之间的区别是:

  1. <block>是一个控制项,它是"not for gathering input",并且
  2. <field>是一个输入项,其值为"gather[ed] from the user"

最后,我知道<prompt>可以是<block><field>的直接子代。

问题:

  1. 我非常确定<prompt><field>内时会收集输入,但是当它在<block>内时会发生什么,因为块是控制项目?

  2. <prompt>中的<block>不收集输入而仅播放音频的情况下,您为什么不将提示文本作为{{ 1}},省略了<block>

1 个答案:

答案 0 :(得分:1)

没有区别。

1-是驱动输入过程的字段,而不是提示。在没有提示的情况下尝试。

2-如果您没有使用提示元素的任何其他功能,则没关系。

请注意,在您引用的文本中有一些重要的事情要实现。 “提示被即时排队”提示和类似的元素结构只是将音频排队。是的,如果有延迟,您通常会开始听到它们。但是,回放与元素是分开的。

关于为什么您可能要一个接一个地做,这可能只是开发风格或基于流程的逻辑。例如,在回放数据时,具有多个可以跳过以覆盖不同场景的块可能比复杂的字段/提示配置更干净。