Alexa技能:是否可以通过编程方式暂停和恢复技能?

时间:2018-11-20 20:36:56

标签: node.js aws-lambda alexa-skill alexa-slot

我正在开发支持运动训练的Alexa技能。人们在锻炼时,Alexa会播放背景音频。

我想知道是否可以暂停训练并稍后恢复。例如,假设训练持续60秒。当用户在30秒内说“暂停训练”时,Alexa将停止播放音频以等待下一个命令。稍后,当用户说“恢复训练”时,Alexa将从暂停的30秒开始恢复音频。如果等待时间太长(例如60秒),Alexa将超时。当前,我只是在使用this.response.speak(audioName)播放音频。

我正在搜索开发人员文档,但是找不到任何相关的解决方案。有可能吗?预先感谢!

1 个答案:

答案 0 :(得分:2)

Alexa Skills不能这样暂停,但是您可以通过将技能会话详细信息保存到Firebase或dynamoDB这样的数据库中来获得类似的结果。您说出Alexa并要求暂停训练后,数据将立即保存。因此,下次您说Alexa时,要求恢复培训时,该技能将获取保存的详细信息,然后从那里开始。

要考虑的几件事:

  1. 仅当会话打开时,您的技能才处于活动状态。每次互动之间大约需要8秒。您可以使用简短的音频剪辑,最多90秒的响应时间,以使该技能的使用寿命更长。

  2. 您可以使用AudioPlayer指令播放10秒的音乐/静音轨道并将其循环播放。因此,技巧开始了,这是您的第一项锻炼,持续两分钟。音频将循环播放两分钟,然后您便会播放通知声音。这具有使用诸如Resume和Pause之类的本机命令而不使用技能名称的附加优点。