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

Alexa技能播放音频时用户响应触发意图却终止会话的解决咨询

问题分析

当使用SSML的<audio>标签播放音频时,Alexa默认行为是音频播放期间不监听用户输入,若用户强行打断,会话会因默认的shouldEndSession设置为true直接终止。要实现音频播放时可响应并保持会话,需从会话状态配置和音频播放机制两方面调整。

解决方案

1. 强制维持会话活跃

在返回的响应中,必须显式设置会话不终止,同时通过ask()方法添加重提示(即使无需重复引导,也需保留该逻辑以维持会话监听状态)。

示例代码(Python):

from ask_sdk_core.handler_input import HandlerInput
from ask_sdk_model import Response

def your_intent_handler(handler_input: HandlerInput) -> Response:
    mp3_url = "你的音频资源URL"
    speak_output = f"<speak>有问题吗?<audio src='{mp3_url}'/></speak>"
    # 配置重提示,确保会话持续监听用户输入
    reprompt_output = "<speak>请说出你的回答</speak>"
    
    return handler_input.response_builder.speak(speak_output) \
        .ask(reprompt_output)  # ask()会自动将shouldEndSession设为False
        .response

2. 使用AudioPlayer接口(推荐)

如果需要更灵活的音频交互(支持中途打断、暂停等操作),建议使用Alexa AudioPlayer Interface替代SSML<audio>标签。该接口专门针对长时间音频播放设计,原生支持播放期间的用户响应,且能稳定维持会话。

核心实现步骤:

  • 发送AudioPlayer.Play指令启动音频,同时通过ask()保持会话
  • 为目标意图(用户回答的意图)配置意图拦截规则,确保音频播放时能触发该意图
  • 处理音频生命周期事件(如播放完成、失败等)

示例代码片段:

from ask_sdk_model.interfaces.audioplayer import (
    PlayDirective, PlayBehavior, AudioItem, Stream)

def start_audio_handler(handler_input: HandlerInput) -> Response:
    mp3_url = "你的音频资源URL"
    # 构建AudioPlayer播放指令
    play_directive = PlayDirective(
        play_behavior=PlayBehavior.REPLACE_ALL,
        audio_item=AudioItem(
            stream=Stream(
                token="audio_001",
                url=mp3_url,
                offset_in_milliseconds=0
            )
        )
    )
    
    return handler_input.response_builder.speak("有问题吗?") \
        .add_directive(play_directive) \
        .ask("请说出你的回答") \
        .response

3. 调整技能交互模型配置

  • 在Alexa开发者控制台的交互模型中,为目标意图补充足够覆盖用户表述的样本语句
  • 开启技能的"允许中断音频播放"选项(在技能配置的音频播放相关设置中启用)
关键注意事项
  • SSML<audio>标签仅适合无需用户中途响应的短音频场景,不适合交互式播放需求
  • 必须使用ask()方法替代单独的speak()返回响应,ask()是维持会话监听的核心逻辑
  • 需在真实设备或Alexa模拟器中测试,验证音频播放期间用户语音能否被正确识别并触发目标意图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 18:52:24