在一个场景中多次调用 webhook 并发送简单响应时,合并简单响应时会出现错误。
来自第一个 webhook 调用的提示
{
"override": false,
"firstSimple": {
"speech": "<speak><audio src=\"https://www.example.com/audio/file1.mp3\"></speak>",
"text": "Text 1"
}
}
来自第二个 webhook 调用的提示
{
"override": false,
"firstSimple": {
"speech": "<speak><audio src=\"https://www.example.com/audio/file2.mp3\"></audio> <audio src=\"https://www.example.com/audio/file3.mp3\"></audio></speak>",
"text": " Text 2"
}
}
响应中的合并提示发送给用户
{
"firstSimple": {
"speech": "<speak><speak><audio src=\"https://www.example.com/audio/file1.mp3\"></speak> <audio src=\"https://www.example.com/audio/file2.mp3\"/> <audio src=\"https://www.example.com/audio/file3.mp3\"/></speak>",
"text": "Text 1 Text2"
}
}
因此,使用这两个speak
标签,SSML 是无效的并且不会被说出来。有时语音对象完全丢失。
我已经为此创建了一个 Github问题。