【问题标题】:Any way to detect what device a DialogFlow request came from?有什么方法可以检测 DialogFlow 请求来自哪个设备?
【发布时间】:2018-04-12 03:45:43
【问题描述】:

所以,基本思路是这样的:

我请求助手应用播放一些音频。

一般来说,这些请求将来自 Google Home 设备(我知道,它们可能来自手机等,但我现在只担心 Home 设备)。

我可以轻松地发回文本回复并阅读。

但我更愿意通过标准的 Chromecasting 东西将音频文件流式传输到源设备。

如果我提出类似的要求 “嘿 Google,让 {my app} 在 {living room} 中向我朗读 {blah} 的说明”然后选择“living room”作为目标设备并将音频发送到那里是没有问题的。效果很好。

但是如果用户说 “嘿 Google,让 {my app} 为我朗读 {blah} 的说明”

我想要的是能够将音频发送到请求来自的设备。

我发现了这个问题:

Detect request coming from google home using dialogflow

这很接近,但不完全是我所追求的。

编辑:我还找到了“媒体响应”信息,但看起来这仅适用于单一媒体响应。就我而言,我可能有几个音频片段需要背靠背播放,因此单个媒体响应不起作用。 (至少,根据我所知道的,我看不出它会起作用)。

这可能吗?

【问题讨论】:

    标签: firebase actions-on-google dialogflow-es google-home


    【解决方案1】:

    我们目前无法通过 Action 将 Home 视为 Chromecast。

    但是,正如您所指出的,我们确实可以使用[媒体回应][1]。正如您所注意到的,它一次只发送一个音频,但是,当它完成时,Dialogflow 将使用 actions_intent_MEDIA_STATUS 的事件调用,您可以创建一个 Intent 进行捕获。然后,您可以发送另一个媒体响应,其中包含播放列表中的下一首歌曲。 (或者在谈话中做任何你想做的事情。)

    【讨论】:

    • 我不知道后续活动!感谢那!理想情况下,初始响应的表面元素(或其他一些元素)将包含原始设备的名称。但与此同时,actions_intent_MEDIA_STATUS 可以工作
    猜你喜欢
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多