node.js - 在 Alexa 上按电台名称流式传输 URL
问题描述
我正在开发一种 Alexa 技能来支持我们的广播应用程序。我们不需要将应用程序本身放到 Alexa 上,我们只需要让 Alexa 获取电台的 URL 并在其媒体播放器中打开它。我处于开发步骤的技能中,它说“好的,现在只需将您的代码添加到 lambda 函数”,对于他们想要编码的内容类型的解释为零。请帮助我编写一个执行以下操作的脚本。
用户说,“Alexa,在上面播放 $station”。Alexa 搜索我们的目录以找到名称匹配的电台。Alexa 从我们的 json 文件中的那个项目中获取 URL。Alexa 打开 URL 并播放流。Alexa 说:“好的,在 $station 上播放。”
这就是它需要做的所有事情。
解决方案
您可以使用官方示例部署代码并按照说明进行操作:https ://github.com/alexa/skill-sample-nodejs-audio-player/tree/mainline/single-stream
看来您正挂在开发人员控制台的步骤中。您需要提供运行代码的端点。例如,它可以在 amazon aws lambda 中运行,但您需要为此创建一个帐户。
评论后更新
你有两种可能:
- 您是否有多种意图解决您的广播电台。
- 或者,您的技能只有一个意图,即slot。
- 这些插槽代表您的广播电台。
- 我更喜欢带有插槽的解决方案,因为它更容易扩展广播电台。如果电台的名称很难命名,您还可以读取每个电台的编号并让用户为电台选择一个编号。
- 使用插槽,您甚至可以为您的广播电台放置不同的同义词
但是您的演讲“Alexa,在 $station 上播放”是不可能的。只是“Alexa 使用 XYZ 站启动 mysuperduperplayer”
推荐阅读
- javascript - 从每个数组元素中获取一个属性值
- python - 如何使用 Pandas 遍历 xlsx 表并仅读取某些列?
- read-the-docs - 如何修复“readthedocs”上的错误“重复构建”?
- python - 第二个窗口中的按钮不起作用
- kubernetes - Kubernetes Cronjob 标记
- c# - 程序未能计算饮料和总人数
- laravel - Laravel/Cache 如何为所有键设置默认时间戳
- javascript - 递归等待的承诺在解决后什么都不做
- angular - 解决 ExpressionChangedAfterItHasBeenCheckedError: Expression has changed after it is checked
- kubernetes - 从 DaemonSet 中的每个 Pod 中抓取指标