audio - 在Lambda中预加载MP3音频URL(Alexa Skill)

标签 audio https aws-lambda alexa-skills-kit

使用此Amazon-provided library,我正在研究alexa技能,该技能可播放短mp3文件队列。触发音频的代码如下所示:

this.response.audioPlayerPlay('REPLACE_ALL', mp3HttpsUrl, mp3HttpsUrl, null, 0);

(功能文档here)

PlaybackNearlyFinished音频事件处理程序期间,将进一步调用此方法以将下一个音频文件URL排队。

它可以正常工作,但是音频播放之间大约有3〜4秒的间隔。我想缩小差距,并尽可能地接近连续播放。

在浏览器设置中,可以通过在播放时间到来之前预先加载缓存来实现;当最终调用该URL时,浏览器仅从本地存储中播放该URL,从而提供几乎没有延迟的体验。

如何在alexa lambda函数中实现此目的?如何预加载“甲板上” URL,使其最终播放时没有间隙?

最佳答案

在您的audioatream播放命令中:将URL传递给包含您的mp3链接的m3u播放列表。

这样,这是Alexa的一个json包。另请注意,指向m3u的超链接必须为https。

我在Alexa文档中的某个地方看到它支持播放列表。

值得一提的是,我相信您会为播放列表中的每个项目收到接近完成的事件。

如果您的资料是数据库驱动的,则只需创建一个返回标准文本html header 的CGI,然后您就可以根据 token 或作为URL的一部分发送的唯一I即时动态创建m3u:

https://wackydimain.com/myscripts/dynamic_m3u.cgi?token=1234

关于audio - 在Lambda中预加载MP3音频URL(Alexa Skill),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50208780/

相关文章:

audio - Windows 上的 Kinect 音频

android - 多音轨,单线程还是多线程?

facebook-graph-api - 将音频文件上传到 Facebook

Android - 如何为多个 HttpsUrlConnections 重用 SSL session

c++ - HTTP/S 代理起点

ios - 我已导入 AVFoundation 并将音频添加到我的应用程序中,但如果应用程序进入后台模式,音频不会停止

iphone - NSURLCredential 通过 https 安全吗?

node.js - 我的 Lambda 在代码完成之前结束 - node.js

javascript - 在 AWS Lambda 中使用 NodeJS 将 Woocommerce API 函数更改为异步/等待

amazon-web-services - 如何使用 CLOUDFORMATION 将我的 aws 账户中的现有角色附加到 aws 组件/Lambda 函数