为了清楚起见,我想知道如何在Google上的操作中添加来自firebase存储的音频?几周以来我一直坚持这个问题。我已将我的音频上传到firebase存储中,并且我已经复制了Firebase提供的链接,并以语音输出粘贴了给定格式的音频URL。检查我是怎么做的: -
<speak>
<audio src="https://firebasestorage.googleapis.com/v0/b/enrich-58fdf.appspot.com/o/xxx.mp3?alt=media&token=aabcd430-9d46-45f6-ad21-fdca0895123f">
</audio>
</speak>
但这没效果。但几个月前,在Google+社区中,我发现一个人问这个类似的问题,艾伦·菲尔斯滕贝格回答说他说要在&和令牌之间添加* amp; *标记。所以在此之后,新的代码生成,即
<speak>
<audio src="https://firebasestorage.googleapis.com/v0/b/enrich-58fdf.appspot.com/o/xxx.mp3?alt=media&token=aabcd430-9d46-45f6-ad21-fdca0895123f">
</audio>
</speak>
但这也行不通。我认为经过SSML的一些调整后,这段代码可能已经改变,或者格式不同,我不知道。那么任何人都可以帮助我吗?
尝试用&
替换&
来逃离&
。
如果您仍然遇到问题,请尝试在</audio>
标记和</speak>
标记之间添加一些文本。 Google上的操作要求显示文本和SSML或SSML都能够以可视方式表示。在SSML中添加文本将允许您以可视方式和视觉方式呈现SSML。
下面是使用Firebase存储的完整工作SSML字符串,使用上述两种技术:
<speak>
<audio src="https://firebasestorage.googleapis.com/v0/b/repeater-96d05.appspot.com/o/digital_watch_alarm_long.ogg?alt=media&token=cdf4d1da-1d1f-42eb-a478-3912275d0f37">
</audio>
text
</speak>
正如你和@matthewayne所指出的那样(正如我在different answer you reference中所提到的),你需要逃避&
以使用正确的XML格式,所以它需要是&
但是 - 我没有看到问题。我在Dialogflow“文本响应”区域中使用了这个确切的代码,它没有问题:
<speak><audio src="https://firebasestorage.googleapis.com/v0/b/enrich-58fdf.appspot.com/o/welcome.mp3?alt=media&token=aabcd430-9d46-45f6-ad21-fdca0895123f"></audio></speak>
我也通过Dialogflow测试了它作为简单响应设置的一部分,它工作正常。
FWIW:您确定您的音频文件是否以可接受的格式录制?我不得不使用名为Audacity的工具将我拥有的一些音频剪辑转换为AoG平台可接受的格式之一:
格式:MP3(MPEG v2)每秒24K采样24K~96K比特每秒,固定速率
格式:Ogg中的Opus每秒24K样本(超宽带)24K - 每秒96K位,固定速率
格式(不建议使用):WAV(RIFF)PCM 16位带符号,每秒24K采样小端
适用于所有格式:首选单通道,但可接受立体声。 120秒最长持续时间。 5兆字节的文件大小限制。源URL必须使用HTTPS协议。