如何正确添加ssml声音效果?

时间:2019-02-19 19:50:38

标签: node.js firebase dialogflow actions-on-google

我正在对Google项目进行操作,并希望为其添加一些音效。我想添加自己的自定义声音效果,因此我搜索并找到了一些mp3样本,但到目前为止,每次我插入声音时,它只是以完全读取的方式读取文本。所以如果我有:

<speak><audio src='<file>'></audio>Hey</speak>

>> "less than speak greater than less than audio....."

我本来以为音频效果语法错误,但是当我使用Google声音库示例时,效果很好。

总而言之,您能或如何使用自己的mp3或wav文件在Google上执行操作?

感谢您的帮助!

编辑:忘记添加代码示例(如果有帮助),我将声音示例存储在Firebase存储中。这是代码:

app.intent('sound',(conv) =>{
   const audioSound = '<firebase_link>'
   const ssml = '<speak>Hi, how are you?` +`<audio src="${audioSound}"></audio></speak>
   conv.ask(ssml)
});

1 个答案:

答案 0 :(得分:0)

是的,您可以使用自己的mp3文件在AoG平台中进行音频响应。但是,有一些限制。由于您的代码似乎的语法正确,因此我认为您的网址有误。

  • 声音URL的首要规则是平台仅支持HTTPS协议。但是由于您使用的是Firebase存储,所以我认为这不是您的问题。
  • 第二种可能的情况是您没有正确获取Firebase URL。您是否使用Firebase Admin SDK来获取文件的URL?
  • 第三种可能的情况是您的URL包含&字符,该字符与SSML语法冲突。 Here in this article,作者说,您需要对{通过在URL字符串上使用&来使{1}}个字符正常工作。

请让我知道这些解决方案中的任何一种是否有用,以及它们是否在更多问题上没有回答您的问题。