【发布时间】:2016-12-22 07:59:17
【问题描述】:
我很确定这个问题的答案是否定的,但我想我还是会分享这个问题,以防其他人有聪明的解决方法:)
我正在构建一个食谱操作,以便用户可以说“让我们做玉米饼汤”,然后说“下一步”以继续进行食谱的下一部分。在每个步骤之间可能会有很长的停顿,因为用户正在切菜等。 Home 是否可以无限期地等待用户响应或等待几分钟?目前它会等待几秒钟,然后说“对不起,我不明白那个响应”之类的内容,并最终退出操作。
强迫用户一遍又一遍地执行“好的,谷歌,让我跟大厨说话”这个动作很烦人,而且我认为,在每一步之后都需要立即结束对话,否则设备会挂起并且说“对不起,我不明白”。
更新
我通过滥用 SSML 找到了一种非常老套的方法。有两种选择,可以叠加<break/>s
assistant.ask(`<speak><break time="120s"/><break time="120s"/></speak>`);
这实际上会导致 Home 播放非常奇怪的嗡嗡声。开发人员可能想看看的东西:D
另一个选项(避免无人机)是播放 2 分钟的无声音频剪辑。根据文档,<audio> 的限制是 2 分钟,但您可以将它们堆叠起来。我刚刚验证你可以让它在那里至少坐十分钟。
assistant.ask(`<speak><audio src="https://.../pause.mp3">hello</audio><audio src="https://.../pause.mp3"></audio></speak>`)
当代理像这样暂停时,您不能直接与代理对话,但您可以说“OK Google,[whatever command]”,该命令实际上会传递给代理。
【问题讨论】:
-
@robdosson 我试用了 Google 助理烹饪应用程序,您还必须说“ok google next”,但他们的应用程序没有滥用 SSML,我知道因为连续脉冲中没有灯光如果我实施您的建议,我会得到什么,因此他们找到了解决此问题的方法,此外,使用您的建议有一点滞后,您是否找到了更好的实施方法?
-
我没有。我与这些工程师交谈的理解是,他们的应用程序具有当前未公开的权限。
标签: actions-on-google google-home