首页 文章

我在使用python编写的webhook中的SSML在DialogFlow(api.ai)中播放音频时遇到问题

提问于
浏览
0

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

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

但是,我从“Show 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'或'ssml'必须是组 .

请帮忙!

ANSWER

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

诀窍

1 回答

  • 0

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

    • 字段名称为"speech",而不是"ssml" .

    • 您没有在回复中提供JSON字符串 .

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

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

相关问题