【问题标题】:I'm having problems playing audio in DialogFlow(api.ai) with SSML from webhook written in python我在使用 python 编写的 webhook 中的 SSML 在 DialogFlow(api.ai) 中播放音频时遇到问题
【发布时间】:2018-08-19 02:03:51
【问题描述】:

在我的 python webhook 中,我返回 JSON 响应 -

   {
     "speech":"Speak this",
     "ssml": <speak><audio src="[link to a mp3 file]"></audio></speak>,
     "displayText": "Expected text",
     "contextOut": [],
     "source": ""
   }

但是,我从“显示 JSON”在 DialogFlow 中得到的是-

  "fulfillment": {
      "speech": "Speak this",
      "source": "",
      "displayText": "Expected text",
      "messages": [
        {
          "type": 0,
          "speech": "Speak this"
        }
      ]
    }

这里,响应没有 SSML 密钥。此外,如果我从程序中删除“语音”键,我会在 Google 助手测试应用程序中收到此错误,MalformedResponse expected_inputs[0].input_prompt.rich_initial_prompt.items[0].simple_response: 'text_to_speech' or 'ssml' must be设置。

请帮忙!

回答

"speech":'<speak><audio src="[link to a mp3 file]"></audio></speak>'

成功了

【问题讨论】:

  • 您是否尝试过将语音字段设为 ssml?
  • 是的,我想通了,无论如何感谢@NickFelker

标签: json actions-on-google dialogflow-es ssml


【解决方案1】:

我认为您可能已经在回答中意识到,有两个问题

  1. 字段名称是“speech”,而不是“ssml”。
  2. 您没有在回复中提供 JSON 字符串。

真正的 JSON 要求字符串是双引号,而不是单引号(虽然看起来 Dialogflow 的解析器很宽松),所以它应该是:

   {
     "speech": "<speak><audio src='[link to a mp3 file]'></audio></speak>",
     "displayText": "Expected text",
     "contextOut": [],
     "source": ""
   }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-15
    • 1970-01-01
    • 2014-09-30
    • 2018-11-23
    相关资源
    最近更新 更多