Pra*_*gie 5 ssml actions-on-google
Google Actions SDK无法播放来自firebase存储的SSML Audio标记中的音频文件.虽然我可以从维基百科播放相同的.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 = ddd08f9d-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>
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
expected_inputs [0] .input_prompt.rich_initial_prompt.items [0] .simple_response:'ssml'无法解析.
可能是什么原因......这是一个限制在动作sdk url需要参数免费?
问题不在于它不能使用参数 - 当解析嵌入在SSML中的URL中的参数时,它不像大多数HTML解析器解析它们那样解析和分离参数.
有一些可能的解决方案,具体取决于您如何格式化URL.
RFC 1866曾经建议使用; 代替&,有些服务器允许这样做.不幸的是,Firebase存储不是其中之一.
在大多数情况下,Firebase存储不需要最终令牌参数,因此在这种情况下您可以省略它,但这不是问题的一般解决方案.
最后,您可以使用SGML编码并替换&as &
(注意主要的&符号和最后的分号).所以你的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>
Run Code Online (Sandbox Code Playgroud)
最后一种方法可能是一般用途的最佳方法.
归档时间: |
|
查看次数: |
1018 次 |
最近记录: |