4

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

现在我正在寻找AudioPlayer.PlaybackNearlyFinished请求表 alexa 来加入第二首歌曲。但问题是我无法在这里获得艺术家的名字来播放歌曲。那么有没有办法将艺术家的名字存储在某个地方并在我想要的任何地方使用它?

4

2 回答 2

1

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

当您创建响应对象时,您可以将所需的任何数据放入“sessionAttributes”对象中。如果您使用的是 SDK,它可能具有此功能。

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

文档将您的数据称为“键值对映射”,但我发现只要顶层是对象而不是数组,您就可以将任何您想要的东西放在那里。

于 2017-01-18T15:05:41.187 回答
0

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

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

于 2017-01-18T13:21:09.307 回答