当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');
}
}
有人知道或有任何建议吗?从我所看到的,一旦它开始播放流,我不能让它做任何事情,除非我打断流来指挥另一个意图?
答案 0 :(得分:0)
为了这个目的,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
}
}