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

如何在单次请求中返回多个音频文件供Alexa应用流式播放?

如何一次性发送多个音频文件到Alexa AudioPlayer队列

嘿,这个问题我之前帮不少开发者解决过——答案是完全可以一次性把所有音频文件发送给Alexa,不用再靠AudioPlayer.PlaybackNearlyFinished回调逐个添加啦!

核心原理

Alexa的AudioPlayer.Play指令支持通过单次响应构建完整的播放队列,关键是利用playBehavior参数和token关联来批量入队音频。

具体实现步骤

  1. 第一个音频:启动播放
    用playBehavior: 'REPLACE_ALL'来清空现有队列(如果有的话)并开始播放第一个音频,这是队列的起点。

  2. 后续音频:加入队列
    对每个后续音频,创建新的AudioPlayer.Play指令,设置playBehavior: 'ENQUEUE',同时指定expectedPreviousToken为前一个音频的token,这样Alexa就会把它加到播放队列的末尾。

代码示例(Node.js Skill Kit)

const buildMultiAudioResponse = () => {
  return {
    version: '1.0',
    response: {
      directives: [
        // 第一个音频:启动播放
        {
          type: 'AudioPlayer.Play',
          playBehavior: 'REPLACE_ALL',
          audioItem: {
            stream: {
              url: 'https://your-domain.com/audio-track-1.mp3',
              token: 'track-1',
              offsetInMilliseconds: 0
            }
          }
        },
        // 第二个音频:加入队列
        {
          type: 'AudioPlayer.Play',
          playBehavior: 'ENQUEUE',
          audioItem: {
            stream: {
              url: 'https://your-domain.com/audio-track-2.mp3',
              token: 'track-2',
              expectedPreviousToken: 'track-1',
              offsetInMilliseconds: 0
            }
          }
        },
        // 第三个音频:继续加入队列(可按需添加更多)
        {
          type: 'AudioPlayer.Play',
          playBehavior: 'ENQUEUE',
          audioItem: {
            stream: {
              url: 'https://your-domain.com/audio-track-3.mp3',
              token: 'track-3',
              expectedPreviousToken: 'track-2',
              offsetInMilliseconds: 0
            }
          }
        }
      ]
    }
  };
};

关键注意事项

  • 唯一Token:每个音频的token必须是唯一值,不能重复,否则Alexa会无法正确识别队列顺序。
  • Token关联:expectedPreviousToken必须严格匹配前一个音频的token,这是队列排序的关键依据。
  • 队列长度限制:虽然Alexa没有强制的队列长度上限,但建议不要一次性加入过多音频(比如超过20个),避免响应体过大导致解析问题。如果是超长播放列表,还是可以结合PlaybackNearlyFinished回调分批补充队列。

这样调整后,用户发起一次请求就能加载完整的音频队列,Alexa会自动依次播放所有音频,不用再等待回调触发啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:02:53