gpt4 book ai didi

actions-on-google - Google Actions sdk 未从 Firebase 存储以 ssml 格式播放音频

转载 作者:行者123 更新时间:2023-12-04 07:44:26 26 4
gpt4 key购买 nike

Google Actions SDK 无法从 Firebase 存储播放 SSML 音频标签中的音频文件。虽然我可以从维基百科播放相同的 .ogg 格式文件。
https://upload.wikimedia.org/wikipedia/en/9/9f/Sample_of_%22Another_Day_in_Paradise%22.ogg

firebase 文件 :
https://firebasestorage.googleapis.com/v0/b/assisto-skill.appspot.com/o/TIP103_converted.mp3?alt=media&token=d0d08f9d-e340-478c-af00-657109683136

我通过发送一个如下所示的 SSML 字符串来使用它:

<speak>
<audio src='https://firebasestorage.googleapis.com/v0/b/assisto-skill.appspot.com/o/TIP103_converted.mp3?alt=media&token=d0d08f9d-e340-478c-af00-657109683136'>
</audio>
</speak>

但我收到以下错误:

expected_inputs[0].input_prompt.rich_initial_prompt.items[0].simple_response: 'ssml' could not be parsed.



可能是什么原因...这是 url 需要无参数的操作 sdk 的限制吗?

最佳答案

问题不在于它不能使用参数——而是在解析嵌入在 SSML 中的 URL 中的参数时,它不会像现在大多数 HTML 解析器解析它们那样解析 & 分隔参数。

有几种可能的解决方案,具体取决于您如何格式化 URL。

RFC 1866 曾经推荐使用 ;代替 &,有些服务器允许这样做。不幸的是,Firebase Storage 不是其中之一。

Firebase Storage 在大多数情况下不需要最终 token 参数,因此在这种情况下您可以省略它,但这不是问题的通用解决方案。

最后,您可以使用 SGML 编码并将 & 替换为 &amp; (注意前导和号和最后的分号)。所以你的 SSML 看起来像:

<speak>
<audio src='https://firebasestorage.googleapis.com/v0/b/assisto-skill.appspot.com/o/TIP103_converted.mp3?alt=media&amp;token=d0d08f9d-e340-478c-af00-657109683136'>
</audio>
</speak>

最后一种方法可能是最适合一般用途的方法。

关于actions-on-google - Google Actions sdk 未从 Firebase 存储以 ssml 格式播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44206436/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com