如何在Google上的操作中添加来自firebase存储的音频?

问题描述 投票:5回答:3

为了清楚起见,我想知道如何在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&amp;token=aabcd430-9d46-45f6-ad21-fdca0895123f">
</audio>
</speak>

但这也行不通。我认为经过SSML的一些调整后,这段代码可能已经改变,或者格式不同,我不知道。那么任何人都可以帮助我吗?

actions-on-google dialogflow
3个回答
2
投票

尝试用&替换&来逃离&amp

如果您仍然遇到问题,请尝试在</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&amp;token=cdf4d1da-1d1f-42eb-a478-3912275d0f37">
</audio>
text
</speak>

2
投票

正如你和@matthewayne所指出的那样(正如我在different answer you reference中所提到的),你需要逃避&以使用正确的XML格式,所以它需要是&amp;

但是 - 我没有看到问题。我在Dialogflow“文本响应”区域中使用了这个确切的代码,它没有问题:

<speak><audio src="https://firebasestorage.googleapis.com/v0/b/enrich-58fdf.appspot.com/o/welcome.mp3?alt=media&amp;token=aabcd430-9d46-45f6-ad21-fdca0895123f"></audio></speak>

enter image description here

我也通过Dialogflow测试了它作为简单响应设置的一部分,它工作正常。


1
投票

FWIW:您确定您的音频文件是否以可接受的格式录制?我不得不使用名为Audacity的工具将我拥有的一些音频剪辑转换为AoG平台可接受的格式之一:

格式:MP3(MPEG v2)每秒24K采样24K~96K比特每秒,固定速率

格式:Ogg中的Opus每秒24K样本(超宽带)24K - 每秒96K位,固定速率

格式(不建议使用):WAV(RIFF)PCM 16位带符号,每秒24K采样小端

适用于所有格式:首选单通道,但可接受立体声。 120秒最长持续时间。 5兆字节的文件大小限制。源URL必须使用HTTPS协议。

© www.soinside.com 2019 - 2024. All rights reserved.