当退出时不调用 actions_intent_CANCEL。

问题描述 投票:0回答:1

有一个问题,当Google Home退出时,无法调用 actions_intent_CANCEL。以下是我在Dialogflow中的做法。

  1. 在事件中创建了一个 "再见 "的意图调用。action_intent_CANCEL.
  2. 我创建了两个意图,一个是通过SSML()来播放音频。<speak><audio src='https://....'></audio></speak>),另一个使用mediaResponse。

两者都能正常播放音频。问题是当我说 "停止 "时,如果mediaResponse正在播放音频,音频就会停止,仅此而已。在这里我想说的是,当我说 "停止 "的时候,如果mediaResponse正在播放音频,音频就会停止,就这样。actions_intent_CANCEL 并没有被调用。

然而,如果音频使用SSML的意图播放,我说 "停止"。action_intent_CANCEL 确实会被调用。

到底发生了什么,为什么会有区别?

google-assistant-sdk dialogflow-fulfillment
1个回答
0
投票

平台就是这样表现的。在MediaResponse中说 "Stop "并不会退出你的Action,而是停止媒体播放。如果用户第二次说 "stop",那就应该注册为cancel意图。


0
投票

这是一个长期存在的问题。严重 媒体响应处理方式的缺陷。

媒体响应的文档 是否

媒体回应支持以下语音交互的音频控制。

[...]

"Ok Google, stop."

但是... 可以说,这两件事情中的一件是有影响的。 发生

  • 它应该引起 actions_intent_MEDIA_STATUS 事件与 MEDIA_STATUS 值设置为 "完成"。
  • 它应该提高 actions_intent_CANCEL 事件

不幸的是--这两种情况都没有发生。而Action只是坐在那里,等着用户说别的话,违反了 谷歌的设计指南.

没有变通的办法。

© www.soinside.com 2019 - 2024. All rights reserved.