2

是否可以在不关闭应用程序的情况下关闭麦克风?

或者非常欢迎对以下解释的情况提出任何建议:

我发现一些帖子已经要求这个,但他们已经有大约一年的历史了,所以我想知道是否有新的东西。

我正在使用conv.close('some message not prompting');. 这会关闭麦克风,但也会关闭应用程序,这不是我需要的。

我需要的功能与 AOG 在显示浏览轮播时默认采用的功能相同:它会自动关闭麦克风(但不是应用程序),用户可以重新打开麦克风或点击建议芯片与您的应用程序交互直接,无需再次调用它。

有人建议我What else can I do for you?在每次回复后添加一条不提示用户输入新信息的尾巴,这样我就可以保持麦克风打开,但这听起来很不自然,我真的认为它会扼杀试图让声音听起来自然的目的机器人。

在许多情况下,您可以期望用户说些什么,即使您没有要求任何东西。一个简单的例子是讲笑话时:您可以期望用户笑、批评、要求另一个笑话或发表任何评论。在这种情况下,关闭麦克风(和应用程序)是无稽之谈,并且Do you want to hear another joke?在开玩笑之后添加尾巴听起来不太好,特别是如果您一个接一个地讲。

此处的目的不是因为我没有打开麦克风而被 AOG 审核团队拒绝。

欢迎任何想法。提前致谢。

4

2 回答 2

1

您无需明确提示“下一步做什么”,但您需要明确说明您是否期望用户提供更进一步的信息。最简单的方法是轮流浏览一些提示。(像multivocal这样的库使这更容易。)

“关闭麦克风而不关闭对话”的概念导致了“好吧,他们如何关闭对话?”的问题。对于您描述的简单的一次性场景,这并不总是显而易见的。

也就是说,有一些关于如何根据您的需要来处理它的想法。

如果出于某种原因需要关闭麦克风,但仍允许用户在操作中发出命令,则可以考虑发送一个媒体对象作为响应的一部分。播放完成后,您的 Action 将被触发以通知您,您可以再次提示用户(并播放更多音频)或最终同意关闭对话。用户会通过您的操作中的命令提示“Hey Google”来中断音频。

对于真正“一次性”但他们可能希望在极少数情况下跟进的事情的另一种方法是跟踪用户状态(如果您需要在跟进中引用它)并关闭对话。如果需要,用户将能够通过正常调用或通过深度链接调用“重新开始”对话。这确实关闭了对话 - 但可以轻松重新启动。

于 2019-01-21T12:46:34.217 回答
0

我现在已经编写了 2 个 google home 应用程序,如果我的任何意图没有提出后续问题,它们最初都会被拒绝。我同意总是问一个后续问题听起来有点不自然。我得到我的答案逻辑(在我的端点上)从预定义的列表中附加一个随机的后续问题,以尝试改变一些事情。

于 2019-01-21T11:05:15.900 回答