【问题标题】:Can Google Home wait indefinitely for a response?Google Home 可以无限期地等待回复吗?
【发布时间】:2016-12-22 07:59:17
【问题描述】:

我很确定这个问题的答案是否定的,但我想我还是会分享这个问题,以防其他人有聪明的解决方法:)

我正在构建一个食谱操作,以便用户可以说“让我们做玉米饼汤”,然后说“下一步”以继续进行食谱的下一部分。在每个步骤之间可能会有很长的停顿,因为用户正在切菜等。 Home 是否可以无限期地等待用户响应或等待几分钟?目前它会等待几秒钟,然后说“对不起,我不明白那个响应”之类的内容,并最终退出操作。

强迫用户一遍又一遍地执行“好的,谷歌,让我跟大厨说话”这个动作很烦人,而且我认为,在每一步之后都需要立即结束对话,否则设备会挂起并且说“对不起,我不明白”。


更新

我通过滥用 SSML 找到了一种非常老套的方法。有两种选择,可以叠加<break/>s

assistant.ask(`<speak><break time="120s"/><break time="120s"/></speak>`);

这实际上会导致 Home 播放非常奇怪的嗡嗡声。开发人员可能想看看的东西:D

另一个选项(避免无人机)是播放 2 分钟的无声音频剪辑。根据文档,&lt;audio&gt; 的限制是 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


【解决方案1】:

目前没有办法让 Google 助理无限期地等待响应。

虽然技术上可行,但使用建议的解决方法来延迟响应的应用不会通过审核流程 - policies document 提到避免播放无声的声音文件和通信一段时间超过 120 秒

另一种方法可能是让您的应用记住食谱中的当前位置,但在每个步骤后结束对话。然后,您可以使用action invocation 让用户说出类似“OK Google,请 [您的应用名称] 继续执行该食谱”之类的话,然后跳回对话并听取下一步。

【讨论】:

    【解决方案2】:

    没有,但最近宣布的一项功能可能会帮助您做您正在尝试的事情。

    回答时,您可以使用Media Control 进行回复并播放音频文件。与使用您提供的 SSML 方法相比,这有几个优点:

    • 音频结束后您会收到一个事件,因此您可以再次使用指南、提示或提醒您的操作仍然存在...然后在等待时播放更多音频.

    • 用户可以随时说“Hey Google,下一步”,您的服务器将收到消息,您可以发送下一步。或者他们可以说“嘿 Google,重复一遍”,然后您会收到 消息并可以重复说明。

    • 他们还可以就您的 Action 提出其他您可以回答的问题。

    【讨论】:

      猜你喜欢
      • 2012-05-12
      • 1970-01-01
      • 2021-03-09
      • 2011-10-23
      • 2015-12-09
      • 1970-01-01
      • 1970-01-01
      • 2014-01-24
      • 1970-01-01
      相关资源
      最近更新 更多