通过自定义Alexa技能播放亚马逊目录中的专辑



我是Alexa开发的新手。我创建了一个Alexa技能,连接到使用Nodejs的AWS lambda函数。

这项技能的目标是根据我(完成)的提要找出当天的专辑是什么,并阅读有关它的简介(完成)并播放专辑。

我获取数据并大声朗读数据的简单意图正在发挥作用。但是我不知道如何使"游戏"意图起作用。

如果当天的专辑是"Witness by Katy Perry",我希望用户说"alexa,要求(myskill)播放当天的专辑",它会回复"Play Witness by Katy Perry"并开始播放该专辑。

这可能吗??

谢谢!

您可以在响应中使用 SSML 类型与 outputSpeech 的<audio src="..."/>。响应示例:

"response": {
  "outputSpeech": {
    "ssml": "<speak> Playing 'Witness by Katy Perry':  <audio src="https://.../output.mp3" /> </speak> ",
    "type": "SSML"
  },
  ...
}

但它有一个限制:音频文件不能超过 90 秒。有关mp3文件的要求可以在这里找到。作为一种解决方法,也许您可以将mp3文件拆分为持续时间为90秒的块。

要为 Alexa 准备 mp3 文件,您可以从终端使用以下命令(它从输入.mp3转换为输出.mp3):

ffmpeg -y -i input.mp3 -ar 16000 -ab 48k -codec:a libmp3lame -ac 1 output.mp3

最新更新