alexa-sdk response.listen(reprompt speech)

问题描述 投票:0回答:1

Alexa High Low Game Skill中,startGameHandlers中有以下代码:

'AMAZON.YesIntent': function() {
    this.attributes["guessNumber"] = Math.floor(Math.random() * 100);
    this.handler.state = states.GUESSMODE;
    this.response.speak('Great! ' + 'Try saying a number to start the game.').listen('Try saying a number.');
    this.emit(':responseReady');
},

在我开始游戏并回答“是”之后,我听到Alexa的语音输出“太棒了!试着用一个数字来开始游戏。”如果我没有回应,我是否应该期待“试着说一个号码”的谴责言论。被Alexa扮演?我观察到的是,重复的言论从未发挥过。

Alexa会在会议结束前等待多长时间?它看起来我必须快速响应继续,否则会话关闭。

alexa-skills-kit aws-sdk-nodejs
1个回答
0
投票

是的,Alexa应该发表谴责言论。等待8秒后重新启动。在重新谴责之后作出回应的时间是8秒。在此时间段之后会话结束。

要解决Alexa不触发重新提示的问题,您可以尝试发送这样的响应。

'AMAZON.YesIntent': function() {
    this.attributes["guessNumber"] = Math.floor(Math.random() * 100);
    this.handler.state = states.GUESSMODE;
    var speechOutput = 'Great! Try saying a number to start the game.';
    var repromptSpeech = 'Try saying a number.';
    this.emit(':ask', speechOutput, repromptSpeech);
};
© www.soinside.com 2019 - 2024. All rights reserved.