【问题标题】:Remove tracks from playlist in spotify从Spotify中的播放列表中删除曲目
【发布时间】:2013-10-22 11:23:29
【问题描述】:

想要从播放列表中删除所有歌曲,直到所选歌曲。这段代码使 Spotify 崩溃,所以我看不到投诉是什么,但我相信它会在第一次删除曲目的调用发生时发生。如果我注释掉删除调用,那么日志记录看起来是正确的。

    var playlist = models.Playlist.fromURI(uri);
    playlist.load('tracks').done(function (tracks) {
        console.log('tracks loaded');
        playlist.tracks.snapshot(0, 20).done(function (snapshot) {
            console.log('snapshot loaded');
            if(snapshot.find(models.player.track)) {
                var done=false;
                var tracks = snapshot.toArray();
                tracks.forEach(function(deleteme) {
                    if (deleteme == models.player.track) {
                        console.log('here\'s our current track');
                        done = true;
                    } else if (done) {
                        console.log('already done');
                    } else {
                        console.log('deleting ' + deleteme.uri);
                        playlist.tracks.remove(deleteme);
                    }
                })
            }
        });
    });

更新 不知道发生了什么,但它不再崩溃。可能是因为我正在从命令行运行 spotify -console。

现在我收到了这条消息。

20:39:36.663 A [base/range.h:27                 ] Check failed: loc >= 0:

Promise.fail 的错误消息显示 索引 -1 处的项目已更改。

【问题讨论】:

  • 是的,崩溃与我是使用 ctrl-alt-home 还是运行 spotify -console 有关。

标签: javascript api spotify spotify-app


【解决方案1】:

显然snapshot.toArray() 的元素与snapshot.ref(index) 不同。

更新:让我理解这一点的参考文档 - https://developer.spotify.com/docs/apps/api/1.0/api-models-reference.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-08
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    相关资源
    最近更新 更多