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

How to store some value to use in entire project in alexa

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

现在我正在寻找 AudioPlayer.PlaybackNearlyFinished 请求表单 alexa 来查询第二首歌曲。但问题是我无法在这里获得艺术家的名字来播放歌曲。那么有没有办法把艺术家的名字存储在某个地方,然后在我想要的项目中使用它呢?

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

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

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

创建响应对象时,您可以将所需的任何数据放入 'sessionAttributes' 对象中。如果您使用的是 SDK,它可能会有一个功能。

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

docs 将您的数据称为 'A map of key-value pairs',但我发现只要 top-level 是对象而不是数组,您就可以在其中放入任何内容。