在Alexa Skill中播放电台流

时间:2017-11-21 13:35:39

标签: alexa-skills-kit

我想开发一个简单的Alexa技能,它应该只做一件事。

通过以下方式调用它:

Alexa, play Radio Luxembourg

它应该播放http://sc-rtllive.newmedia.lu

我找到了如何播放托管在外部服务器上的媒体文件的示例,但没有播放流。

有可能吗?

修改

实际上根本没有必要这样做。

内置TuneIn - 支持可以为您做到这一点。

如果您发音好(我似乎从来没有做对),这应该有效:

Alexa, play RTL Radio Lëtzebuerg on tunein

2 个答案:

答案 0 :(得分:4)

基于此:https://developer.amazon.com/docs/custom-skills/audioplayer-interface-reference.html#play

标识远程HTTPS位置的音频内容的位置。 音频文件必须托管在可通过Internet访问的HTTPS端点上。 HTTPS是必需的,托管文件的域必须提供有效的可信SSL证书。无法使用自签名证书。许多内容托管服务提供此功能。例如,您可以在Amazon Simple Storage Service(Amazon S3)(Amazon Web Services产品)等服务上托管您的文件。

支持的音频文件格式包括AAC / MP4,MP3,HLS,PLS和M3U。比特率:16kbps至384kbps。

答案 1 :(得分:2)

我几乎将此代码复制并粘贴到Lambda函数中(通过免费套餐每月1m请求很多)并且只更改了podcastURL:

https://github.com/bespoken/super-simple-audio-player/blob/Part1/README.md

README中的说明讨论了设置bespoken-tools,它确实非常适合调试,但是如果你想独立于自己的机器运行它,可以在Lambda中使用它们的代码。他们使用亚马逊设置Alexa技能的指南将完美运行,除了您的服务的HTTPS端点将是Lambda端点,而不是您自己的盒子。以下是关于Lambda的一些基础知识:https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html

正如@Tiantian正确指出的那样,唯一的问题是卢森堡电台不是HTTPS。也许你可以代理它或什么的。看起来这样可以解决问题:https://webrobots.io/how-to-setup-a-free-proxy-server-on-amazon-ec2/

(您希望对其进行限制,以便仅将流量代理到Radio Luxembourg链接。)