当Alexa在玩audioPlayer.Play的时候,怎么可能执行任何后台任务呢?
下面播放了一个音频流,但我需要在播放音频流的同时在后台执行其他任务,而不需要干预。我知道这是可能的,因为其他技能也能做到。
var handlers = {
'LaunchRequest': function() {
this.emit('Play');
},
'Play': function() {
this.response.speak('Sure.').
audioPlayerPlay(
'REPLACE_ALL',
stream.url,
stream.url,
null,
0);
this.emit(':responseReady');
}
}
有没有人知道或者有什么建议?据我所知,一旦它开始播放流,我就无法让它做任何事情,除非我中断流以命令另一个意图?
发布于 2018-06-06 07:56:03
Alexa有一些内置的请求,她在音频流的整个生命周期中发送给你的技能就是为了这个目的!它们如下:
你也可以读到其他一些关于here的文章,但我猜这些将会很好地满足你的需要。
要使用它们,只需在您的代码中为这些请求中的任何一个设置处理程序,并执行您需要的任何任务!
我一点也不了解node.js,但我猜最终结果看起来会比较接近于这样:
var handlers = {
'LaunchRequest': function() { /* your launch request code from above */ }
'Play': function() { /* your play code from above */ }
'AudioPlayer.PlaybackNearlyFinished': function() {
// Perform any background tasks here
}
}
https://stackoverflow.com/questions/50706659
复制相似问题