我正在构建播放音频的Alexa技能。音频具有标题,扬声器和其他属性。
问题:我想在我的技能中添加搜索功能,以便用户可以根据标题或演讲者姓名等播放音频。我怎样才能实现这一目标?
用户如何在一些自定义字符串(扬声器,标题)的基础上搜索并将该字符串传递给我的技能?在那里我将编写逻辑来搜索该音频。
我知道自定义意图和插槽,但我不知道它们将如何在我的情况下工作。
请指导。我只需要一些起点。谢谢。
是的 - 你需要看看它是custom slots。
intents.json
{
"intents": [
{
"intent": "GetAudio",
"slots": [
{
"name": "Query",
"type": "QUERY"
},
]
},
],
...
}
你的话语可能包括以下内容:
GetAudio search for {Query}
GetAudio find audio matching {Query}
当你的技能获得意图时,它将获得一个IntentRequest,其中包含你定义的任何插槽。因此,如果您已经定义了Query
的自定义插槽(并且理想情况下填充了示例搜索以改善匹配),您可能会收到如下内容:
{
"type": "IntentRequest",
...
"intent": {
"name": "GetAudio",
"slots": {
"Query": {
"name": "Query",
"value": "jimi hendrix"
}
}
}
}
因此,很容易检索value
字段并使用内部逻辑进行搜索。
希望有所帮助。
您可以通过定义AMAZON.SearchQuery类型的自定义槽来实现。所有细节here