语音XML禁用语音输入

时间:2014-07-12 15:57:52

标签: voicexml nexmo

我正在尝试在语音XML代码块中禁用语音识别。我发现很难掌握这种语法,将项目从Twilio的TwiML转换为Nexmo所需的VoiceXML。

这是我的代码。我尝试将<block>元素更改为<field>,这似乎禁用了语音输入,但我的<goto>无法正常工作。此外,与此特定问题无关,如何以编程方式挂断呼叫者? <disconnect/>似乎不起作用。

<vxml version="2.1">
    <form>
        <block>
            <property name="inputmodes" value="dtmf"/>
            <prompt>Station 1</prompt>
            <audio src="http://foo.io/file.mp3" fetchhint="prefetch" />

            <goto next="http://foo.io/next-menu"/>
        </block>
    </form>
</vxml>

1 个答案:

答案 0 :(得分:0)

这是接受digits作为输入的简单方法。但请注意,这也会允许语音(但是,会将其识别为数字)。

<vxml version="2.1">
<form>
  <field name="myField" type="digits">
    <prompt>
      Press some digits, okay?
    </prompt>
    </field>
    <block>
      <submit next="/next.php"/>
    </block>
  </form>
</vxml>

由此,当请求myDigits时,检测到的任何数字(口语或按键)都将作为next.php在查询字符串中发送。使用method的{​​{1}}属性更改为submitPOST属性,以准确更改发送的字段。

但这是使用namelist代替<menu>的更简单版本,您可以在其中为<form>设置DTMF:

<choice>

值得一提的是,VXML超过TwiML的能力要强得多。虽然您可以复制TwiML使用的单个响应/ XML文档模式,但使用VXML,您可以在单个文档中收集多个字段,进行数据验证,在需要时获取外部数据,甚至在VXML中使用JavaScript。