如何在 alexa 中存储一些值以在整个项目中使用



我正在开发Alexa音乐应用程序,它的工作方式是这样的。我要求Alexa为一位艺术家播放音乐,说它是lady gaga。我正在获取名称并将其传递给我的 api 并获得 10 首歌曲作为响应。现在我把第一首歌传给InetentRequest并播放这首歌。

现在我正在寻找AudioPlayer.PlaybackNearlyFinished请求表格 alexa 来询问第二首歌。但问题是我无法在这里获得艺术家的名字来播放歌曲。那么,有没有办法将艺术家的名字存储在某个地方,并在项目中随心所欲地使用它?

我认为存储此类会话数据的最佳方法是在响应的会话属性中。

创建响应对象时,将所需的任何数据放入"会话属性"对象中。 如果您使用的是SDK,则它可能具有此功能。

当您在同一Alexa会话中收到下一个意图时,它将在事件的"session.attributes"中拥有您的数据。

文档将您的数据称为"键值对映射",但我发现只要顶层是对象而不是数组,您就可以在其中放置任何您想要的内容。

如果您不将艺术家存储在会话中并将其保存到下一首歌曲中,我认为您可能需要找到某种方法来在您的技能中使用音乐录制意图。

https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/built-in-intent-ref/musicrecording-intents

最新更新