我知道我可以通过以下方式使用Python将数据(在本例中为Text)发送到DialogFlow:
ai = apiai.ApiAI(CLIENT_ACCESS_TOKEN)
request = ai.text_request()
request.lang = 'de' # optional, default value equal 'en'
request.session_id = "<SESSION ID, UNIQUE FOR EACH USER>"
request.query = "Hello"
response = request.getresponse()
print (response.read())
但我不确定我是否可以向DialogFlow发送音频文件,有人知道吗?
答案 0 :(得分:0)
在Google Action / Dialogflow响应中使用音频文件有两种方法:带有<audio>
标记的SSML和媒体响应。两者都希望音频文件通过HTTPS URL提供,文件本身通常存储在云存储服务中,如Google云端存储或Amazon S3。
SSML (Speech Synthesis Markup Language)是音频输出的标记语言,就像HTML用于视觉输出一样。它受Google操作支持,可用作普通文本响应的替代品,而不是像这样包含响应文本:
{
"speech": "This is the text that the users hears",
...
}
你会用SSML标记它:
{
"speech": "<speak><audio src="https://some_cloud_storage.com/my_audio_file.ogg"></audio></speak>",
...
}
请注意,<speak>
代码必须始终包含整个回复,以便Google指出必须使用SSML呈现文本(就像网站上的<html>
代码一样)。 <audio>
标记可以包含多个可选属性,有关详细信息,请参阅文档。
Media responses没有这些限制,并显示为带有图片和播放控件的卡片,但它们目前仅适用于Google Home和Android设备。