是否可以在不关闭应用程序的情况下关闭麦克风?
非常欢迎您提出以下说明的情况:
我已经找到了一些要求这样做的帖子,但是它们已有大约一年的历史了,所以我想知道是否有新内容。
我正在使用conv.close('some message not prompting');
。这样可以关闭麦克风,但也可以关闭应用程序,这不是我所需要的。
我需要的功能与AOG在显示浏览轮播时默认使用的功能相同:它会自动关闭麦克风(但不关闭应用程序),用户可以重新打开麦克风或点击建议芯片进行互动直接使用您的应用,而无需再次调用它。
建议我在每次不提示用户输入新信息的答复后添加一条尾巴What else can I do for you?
,这样我可以使麦克风保持打开状态,但这听起来太不自然了,以至于我真的认为它会杀死麦克风。尝试让机器人听起来自然的目的。
在许多情况下,即使您不要求任何内容,您也可以期望用户说些什么。一个简单的例子是讲一个笑话:您可以期望用户笑,批评,要求其他笑话或发表任何评论。在这种情况下,关闭麦克风(和应用程序)是胡说八道,开个玩笑后添加Do you want to hear another joke?
尾巴听起来并不好,特别是如果您要一个接一个地讲。
这里的目的是不被AOG审核小组拒绝,因为我要打开麦克风。
任何想法都欢迎。预先感谢。
答案 0 :(得分:1)
您不需要明确提示“下一步”,但是您需要弄清楚是否期望用户提供进一步的信息。最简单的方法是轮流浏览某些提示。 (像multivocal这样的库使此操作更加容易。)
“在不关闭对话的情况下关闭麦克风”的概念导致了一个问题,“好,他们如何关闭对话?”对于您所描述的简单的一次性方案,这并不总是很明显。
也就是说,关于如何根据需要进行处理有一些想法。
如果出于某种原因需要关闭麦克风,但仍允许用户在操作时发出命令,则可以考虑发送Media对象作为响应的一部分。播放完成后,将触发您的操作通知您,您可以再次提示用户(并播放更多音频),也可以最终同意关闭对话。在您的操作中,用户会通过命令提示“ Hey Google”来中断音频。
另一种处理真正“一次性”但在极少数情况下可能需要跟进的方法是跟踪用户状态(如果需要在跟进中引用它)并结束对话。如果需要,用户可以通过正常调用或通过深层链接调用来“重新启动”对话。这样确实可以关闭对话-但使重新启动变得容易。
答案 1 :(得分:0)
我现在已经编写了2个google home应用,并且如果我的任何意图都没有提出后续问题,则最初拒绝了它们。我同意总是问一个后续问题听起来有些不自然。我得到了答案逻辑(在端点上),可以从预定义列表中追加随机后续问题,以尝试对问题进行一些调整。