You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么我的SSML在Alexa控制台测试正常但实体设备上无法运行?

问题原因

该问题是两个SSML格式相关的问题共同导致的,线上开发者控制台的测试环境容错性更高,会自动修复格式问题,而实体Echo设备的SSML解析校验更严格,因此出现两端表现不一致的情况:

  1. 缺少必填根标签:Alexa标准SSML要求所有语音内容必须包裹在<speak>根标签内,线上测试环境会自动补全缺失的根标签,而Echo设备端遇到缺失根标签的内容会直接触发解析错误。
  2. 特殊字符被转义:你代码中的SSML标签使用了HTML转义字符(&lt;代替<、&quot;代替"),转义后的内容会被设备端识别为普通文本,无法被解析为SSML标签,导致格式校验失败。

修复方案

将你的LaunchRequest代码修改为如下格式即可:

const LaunchRequestHandler = {
    canHandle(handlerInput) {
        return Alexa.getRequestType(handlerInput.requestEnvelope) === 'LaunchRequest';
    },
    handle(handlerInput) {    
       var speechOutput = '<speak><prosody pitch="low">Hello.</prosody></speak>';
        return handlerInput.responseBuilder
            .speak(speechOutput)
            .reprompt(speechOutput)
            .getResponse();
    }
};

其他可选排查点

如果修改后仍然报错,可以逐一排查以下问题:

  • 确认你的Echo设备注册区域与技能部署的区域完全匹配,不同区域的Alexa服务对SSML的解析规则存在微小差异
  • 更新Echo设备对应的Alexa App到最新版本,部分旧版本客户端存在SSML解析bug
  • 可以先用最简单的<speak>测试文本</speak>验证基础SSML功能正常,再逐步添加prosody等效果标签

内容的提问来源于stack exchange,提问作者ArcaneLight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 17:39:01