Twilio trail帐户没有语音转文本功能

时间:2018-04-27 09:51:19

标签: twilio twilio-api twilio-programmable-voice

我有一个twilio路径帐号。 我想知道是否为跟踪帐户禁用了语音识别功能。

我尝试使用Gather动词捕捉语音。但它不起作用。

谢谢!

1 个答案:

答案 0 :(得分:0)

Twilio开发者传道者在这里。

我认为这里的问题是<Gather>未设置为在呼叫的<Say>部分开始讲话时听到呼叫者。

您分享的代码中的TwiML看起来有点像这样:

<Response>
  <Say>Welcome to Twilio, please tell us why you're calling</Say>
  <Gather input="speech" timeout="5" action="https://f2b4fbc1.ngrok.io/asr/test"></Gather>
</Response>

因此,<Gather>仅在<Say>完成后才开始收听。

相反,你应nest the <Say> within the <Gather>制作像这样的TwiML:

<Response>
  <Gather input="speech" timeout="5" action="https://f2b4fbc1.ngrok.io/asr/test">
    <Say>Welcome to Twilio, please tell us why you're calling</Say>
  </Gather>
</Response>

此代码应如下所示:

Say say = new Say.Builder("Welcome to Twilio, please tell us why you're calling").build();  
Gather gather = new Gather.Builder().input(Gather.Input.SPEECH).timeout(5).action("https://f2b4fbc1.ngrok.io/asr/test").say(say).build();       
VoiceResponse response = new VoiceResponse.Builder().gather(gather).build();

让我知道这是否有帮助。

<强> [编辑]

我还认为您需要在返回XML时设置内容类型。我不是Spring / Java开发人员,但我认为你需要更改

@RequestMapping(method = RequestMethod.POST, value = "/recordTheSpeech", produces = MediaType.APPLICATION_XML_VALUE)
public ResponseEntity<String> recordTheSpeech() throws IOException {
    Say say = new Say.Builder("Welcome to Twilio, please tell us why you're calling").build();
    Gather gather = new Gather.Builder().input(Gather.Input.SPEECH).timeout(5).action("https://f2b4fbc1.ngrok.io/asr/test").say(say).build();
    VoiceResponse response = new VoiceResponse.Builder().gather(gather).build();

    return new ResponseEntity.ok().body(response.toXml());
}