node.js - 并行执行 AoG 意图
问题描述
我有两个意图。当我调用第一个时,它会“无休止地”播放音频。第二个意图可用于对播放进行投票,即如果用户喜欢它,则喜欢它,如果使用过,则不喜欢它。我的问题是我能否以并行运行或更明确的方式调用这两种意图。第一个 Intent 继续运行,而第二个 Intent 记录用户投票。
app.intent('playAudio.intent',(conv)=>{
// Play audio
});
app.intent('voteAudio.intent',(conv,{vote}{
// Vote audio playing
});
解决方案
我认为你正在处理这个问题。请记住,意图不是“执行”的。意图捕捉用户所说的内容。他们没有描述您的行动如何回应他们所说的话。
因此,您可能有一个触发音频播放的 Intent(在无限循环中?)。
您可能还希望用户能够中断播放以指示他们如何对该音频进行投票。在任何播放过程中(语音、使用 SSML 的音频效果或媒体响应),用户可以通过以“Hey Google”开头,然后是他们要说的内容来打断您所说的内容。这将像所有其他 Intent 一样传递给 Dialogflow 进行处理。
就像任何其他 Intent 一样,您的回复也需要发送给用户。虽然您可以在回复中重新开始播放音频,但之前的音频播放已结束。不幸的是,没有可靠的方法可以知道它在哪一点被中断或告诉它在音频的稍后点开始。
如果您询问音频是否可以在“背景”中播放,答案是否定的。Actions on Google 旨在支持对话式 UI,它在系统和用户之间来回切换。
推荐阅读
- material-ui - 用作自定义 TableCell 组件时的滞后滑块
- java - JAX-RS 客户端的自定义主机名解析器
- git - Git中TFVC“回滚”的等价物是什么?
- php - 我如何使用 Eloquent 过滤表和连接表?
- javascript - 如何签署在 javascript 文件中实现的 ActiveXObject 代码?
- ms-access - 如何解决导出到 Excel 错误?
- python - 获取 ValueError:int() 以 10 为底的无效文字:''
- c++ - 使用离散二次插值查找最大值的 (x,y) 子像素坐标
- swift - 如果使用 `freeWhenDone:false` 初始化,Data 的“复制构造函数”是否会复制其引用的字节?
- php - 试图与我的 docker consul 中的外部 ip 通信