Alexa询问对LaLunch的回应:演讲和重新演绎的预期行为是什么?

时间:2017-03-19 08:47:37

标签: java alexa alexa-skills-kit

在使用回声测试我的技能时,我遇到了以下行为:

当由非意图请求和此响应调用时:

public SpeechletResponse onLaunch(LaunchRequest request, Session session) throws SpeechletException {
    PlainTextOutputSpeech speech = new PlainTextOutputSpeech();
    speech.setText("Welcome");

    PlainTextOutputSpeech repromtSpeech = new PlainTextOutputSpeech();
    speech.setText("Repromt");
    Reprompt reprompt = new Reprompt();
    reprompt.setOutputSpeech(repromtSpeech);

    SimpleCard card = new SimpleCard();
    card.setTitle("Welcome");
    card.setContent("Test");

    return SpeechletResponse.newAskResponse(speech, reprompt, card);
}

Alexa仅输出重新发送文本。

实际的互动是:

  • 用户:alexa ask" Skill"
  • Alexa:Repromt"等待回答"

我期望/想要的互动将是:

  • 用户:alexa ask" Skill"
  • Alexa:欢迎"等待回答"
  • 用户:"没有正确回复"
  • Alexa:Repromt"等待回答"

我怎样才能达到预期的行为?如果答案中没有(从不?),语音文本是什么?

1 个答案:

答案 0 :(得分:0)

我认为您的代码中存在错误。您正在设置speech.setText两次。我想你的意思是第二次设置repromptSpeech.setText。