1

我正在使用 Alexa 开发示例琐事游戏技能的修改版本。问题中的某些单词无法正确发音,因此我想为这些单词实现 SSML 音素拼写。但是,添加完整的山核桃样式命令会破坏消息,因为代码将其视为不平衡的括号,但不将其括在引号中会创建未解析的正则表达式。有没有人有任何建议我可以将它包含为 x-sampa SSML 同时仍将其保留为当前实现的 var?这是它当前如何破坏的示例。

{
    "Test question 1?": [
        "Answer 1",
        "<phoneme alphabet="x-sampa" ph="EksIlUs">Exilus</phoneme> Adapter",
        "Answer 3",
        "Answer 4"
    ]
},
4

1 回答 1

2

您的问题可能是您将 SSML 字符串用双引号括起来,但在 SSML 本身中也包含非转义双引号。要解决此问题,请尝试将 SSML 中的引号替换为单引号,或者使用反斜杠字符将其转义,如下所示:

{
    "Test question 1?": [
        "Answer 1",
        "<phoneme alphabet=\"x-sampa\" ph=\"EksIlUs\">Exilus</phoneme> Adapter",
        "Answer 3",
        "Answer 4"
    ]
},

如果您查看使用 SSML 的示例 Alexa 技能,您会发现这就是他们处理引号的方式:

speechText = "That's not how knock knock jokes work! <break time=\"0.3s\" /> "
                + "Knock knock!";
于 2016-05-03T19:56:30.490 回答