Closed ghost closed 7 years ago
So pretty much this issue is mentioned in the README. It's because of the SSML tags.
The contents of the prompt and repompt values get wrapped in SSML tags. This means that any special XML characters within the value need to be escape coded. For example, this.emit(":ask", "I like M&M's") will cause a failure because the & character needs to be encoded as &. Other characters that need to be encoded include: < -> <, and > -> >
But &
is not decoded back to & in Alexa service, so the URL will be https://s3.amazonaws.com/sounds226/boom.mp3?param1=&param2=
and many servers will fail to parse that. Any workaround?
Yeah, I totally see the issue, just don't think there's a workaround except removing <speak>
tags.
I think it may be related to https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs/issues/25
Going to Skill -> Test -> Voice emulator
Works:
<speak><audio src="https://s3.amazonaws.com/sounds226/boom.mp3"/></speak>
Works:<speak><audio src="https://s3.amazonaws.com/sounds226/boom.mp3?param1="/></speak>
Fails:<speak><audio src="https://s3.amazonaws.com/sounds226/boom.mp3?param1=¶m2="/></speak>
Works:<speak><audio src="https://s3.amazonaws.com/sounds226/boom.mp3?param1=&param2="/></speak>
Ampersand & doesn't work. I see
&
works, but not all servers will support the syntax.