我有两个意图。当我调用第一个时,它将播放音频“无尽”。第二个意图可以用来对播放进行投票,例如,如果用户喜欢它,则不喜欢(如果不喜欢)。我的问题是,我是否可以以并行运行或更明确的方式调用两种意图。第一个Intent保持运行,第二个Intent记录用户投票。
app.intent('playAudio.intent',(conv)=>{
// Play audio
});
app.intent('voteAudio.intent',(conv,{vote}{
// Vote audio playing
});
答案 0 :(得分:1)
我认为您正在横向解决这个问题。请记住,Intent不是“执行”的。意图捕获用户所说的。他们不描述您的操作如何回复他们所说的话。
所以您可能有一个Intent可以触发音频播放(无限循环?)。
您可能还希望用户能够中断该播放,以表明他们对该音频的投票方式。在任何播放(语音,使用SSML的音频效果或媒体响应)的播放过程中,用户都可以从“ Hey Google”开始然后打扰他们,以打断您的发言内容。它将像其他所有Intent一样传递给Dialogflow进行处理。
就像其他任何Intent一样,您的回复也需要发送给用户。虽然您可以在答复中重新启动音频,但之前的音频播放已完成。不幸的是,没有可靠的方法来知道它在哪一点被打断或告诉它在音频的下一个点开始。
如果您要问音频是否可以在“背景”中播放,答案是否定的。 Google上的操作旨在支持对话式UI,该对话式UI在系统和用户之间来回移动。