PlaybackNearlyFinished 和 PlaybackFinished 几乎同时发生?

PlaybackNearlyFinished and PlaybackFinished occur almost at the same time?

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

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

除非这是 Alexa/Infrastructure 中的错误,否则我不知道如何实现播放列表的播放 - 无法可靠地安排即将播放的曲目...

我可以在我的代码中做些什么来让它运行良好吗?

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

看起来现在已经解决了 - 为了正确地排队下一个流,需要想出真正独特的流标记。这意味着即使是相同的 file/url 也应该在唯一标记下排队。

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

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);
    }
}

希望对大家有所帮助!