我正在使用由类似于 TellMe 的引擎驱动的 vxml。我将语音识别添加到语音邮件系统的电话提示中。新菜单将首先提示用户进行口头输入,如果没有找到匹配项,或者没有给出输入,则再次提示用户使用按键音选项。
原始菜单如下所示:
<menu id="msgedit">
<prompt><enumerate><value expr="_prompt"/>press <value expr="_dtmf"/>.</enumerate></prompt>
<choice dtmf="9" next="#checkurgent">To deliver your message </choice>
<choice dtmf="7" next="#playmsg">To play your message </choice>
<choice dtmf="3" next="#rerecord">To discard your message and record over </choice>
<choice dtmf="2" next="#addtomsg">To add to your message </choice>
<choice dtmf="6" next="#testnumber">To enter a phone number where you may be reached </choice>
<choice dtmf="1" next="#cancel">To cancel making a message </choice>
<!-- handle no input/no match -->
</menu>
新菜单如下所示:
<form id="msgedit">
<field name="choice">
<prompt>
<if count == 0">
Please choose one of the following.
deliver, play back, rerecord, add to,
enter a callback number, or cancel.
<else/>
Please choose one of the following.
To deliver your message, press 9.
To play back your message, press 7.
To discard your message and rerecord, press 3.
To add to your message, press 2.
To enter a callback number, press 6.
To cancel your message, press 1.
</if>
</prompt>
</field>
<filled>
<if cond="choice == 'deliver' || choice == '9'">
<goto next="#checkurgent"/>
<elseif cond="choice == 'play' || choice == '7'"/>
<goto next="#playmsg"/>
<elseif cond="choice == 'rerecord' || choice == '3'"/>
<goto next="#rerecord"/>
<elseif cond="choice == 'add' || choice == 'add to' || choice == '2'"/>
<goto next="#addtomsg"/>
<elseif cond="choice == 'enter callback number' || choice == 'callback number' || choice =='6'"/>
<goto next="#testnumber"/>
<elseif cond="choice == 'cancel' || choice =='1'"/>
<goto next="#cancel"/>
<else/>
<throw event="nomatch"/>
</if>
</filled>
<!-- handle no input/no match -->
</form>
但是,我想使用原始菜单中的<enumerate>
and<choice>
行为来重新提示,而不是长文本(太长并导致错误)。
这是问题:有没有办法在第二种提示风格中使用第一种提示风格?我可以放在一个字段里面吗?我该怎么做?