PlaybackNearlyFinished和PlaybackFinished几乎同时发生?

时间:2017-11-17 14:12:44

标签: alexa alexa-skills-kit alexa-skill

事实证明,有时(不总是顺便但非常频繁)PlaybackNearlyFinishedPlaybackFinished几乎同时发生。同样令人困惑的是,两个事件都传达了完全相同的偏移量,代表了流的最后端:

enter image description here

当发生这种情况时,PlaybackNearlyFinished中安排的下一个流不会 - 播放刚刚结束。

除非这是Alexa / Infrastructure中的错误,否则我无法弄清楚如何为播放列表实现播放 - 没有办法可靠地安排即将播放的曲目......

我的代码中是否可以执行任何操作以使其正常运行?

我正在使用Echo Dot 2 gen。,实际位于欧洲,使用java SDK,AWS Lambda,Dynamo DB。

1 个答案:

答案 0 :(得分:1)

现在看来它已被弄清楚 - 为了正确排队下一个流,需要提供真正独特的流令牌。这意味着即使是相同的文件/网址也应该在唯一令牌下排队。

在上面的示例中,我使用播放列表中的曲目索引作为标记。一旦我像下面一样解决了它,一切都开始像魅力一样:

import org.apache.commons.lang3.RandomStringUtils;

public class TokenService {

    public String createToken(int playbackPosition) {
        String suffix = RandomStringUtils.randomAlphanumeric(16);
        return String.valueOf(playbackPosition) + ":" + suffix;
    }

    public int tokenToPlaybackIndex(String token) {
        String positionStr = token.split(":")[0];
        return Integer.valueOf(positionStr);
    }
}

希望它有所帮助!