我正在开发 Alexa 音乐应用程序,它的工作原理如下。
我要求 Alexa 为一位艺术家播放音乐,比如 lady gaga。我正在获取名称并将其传递给我的 api,并收到 10 首歌曲作为响应。
现在我将第一首歌曲传递给 InetentRequest
并播放该歌曲。
现在我正在寻找 Alexa 的 AudioPlayer.PlaybackNearlyFinished
请求来排队第二首歌曲。但问题是我无法获得这里播放歌曲的艺术家的名字。那么有没有办法将艺术家的名字存储在某个地方并在项目中任何我想要的地方使用它?
最佳答案
我认为存储此类 session 数据的最佳方法是在响应的 session 属性中。
当您创建响应对象时,您可以将所需的任何数据放入“sessionAttributes”对象中。如果您使用的是 SDK,它可能具有此功能。
当您在同一 Alexa session 中收到下一个意图时,它会将您的数据保存在事件的“session.attributes”中。
docs将您的数据称为“键值对映射”,但我发现只要顶层是对象而不是数组,您就可以在其中放置任何您想要的内容。
关于alexa-skills-kit - 如何在 Alexa 中存储一些值以供整个项目使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41712901/