conv.ask()等待音频完成

时间:2018-09-13 16:54:34

标签: node.js actions-on-google

我正在使用actions-sdk和nodejs构建一个“游戏”。对于此游戏,一项功能要求audo在获得用户输入之前完成。是否可以使用conv.ask()忽略文本意图中的输入,直到音频完成?无论如何,还有没有在音频结束时在conv.ask()上放置回调?

2 个答案:

答案 0 :(得分:1)

您可以使用媒体回复:https://developers.google.com/actions/assistant/responses#media_responses

当音频结束时它有一个回调。在回调中,您可以进行一次conv.ask提示用户输入。

答案 1 :(得分:0)

这是Assistant的正常行为-麦克风保持关闭状态,直到完成音频为止,然后打开麦克风供用户回复。但是,用户可以在任何时候使用热字(“嘿,谷歌”)打断助手。没有办法阻止它,但是并不清楚为什么要阻止他们这样做。

在传递音频时也没有办法进行回调。请记住,conv.ask()在您的服务器上运行-不在本地设备上运行(尽管音频在该设备上播放)。

如果您想做类似问一个问题的事情,然后给他们15秒的回答时间,那么您可能会调查一下媒体响应是否可以帮助您。如果您随媒体问题一起问问题,他们可以用“ Hey Google”和答案打断音频,否则媒体将结束并向您发送事件。