我正在为 Spotify 申请。有了这个应用程序,我有一个简单的“订阅”功能,它允许我从用户正在收听的当前曲目中添加专辑的播放列表。一切正常。虽然我有这个错误。听完超过一首歌曲后,当我按下订阅按钮时,它会为每首听过的歌曲附加一个播放列表。
例如:我听了专辑的 3 首歌曲,然后按订阅:它将为每首歌曲附加 3 个播放列表。然后:如果我然后听另一张专辑中的歌曲,当按下订阅时,它将为新歌曲和前 3 首歌曲附加一个播放列表。这一直发生,直到我重新加载应用程序。
似乎它会记住加载应用程序后听过的每一首歌。
这是我的代码:
函数订阅(){
//Cache important information
var playerTrackInfo = player.track;
var track = playerTrackInfo.data;
var albumUri = track.album.uri;
var albumTitle = track.album.name;
var artistFromAlbum = track.album.artist.name;
//Click event on button
$(".subscribe button").on("click", function(playlist){
console.log("I work!"); //Checks if button click works
//Creates new playlist "Albumtitle - Artistname"
var playlist = new models.Playlist(albumTitle+" - "+artistFromAlbum);
//Fills in playlist with album from current playing track
models.Album.fromURI(albumUri, function(album){
$(album.tracks).each(function(i) {
playlist.add(album.tracks[i]);
});
});
playlist.subscribed = true;
playlist.observe(models.EVENT.CHANGE, function() {
console.log("Playlist was subscribed!");
});
});
}
我需要一种方法来防止这个问题。我尝试了很多不同的方法并无休止地搜索网络,但到目前为止还没有运气。任何帮助或指向正确方向都会很棒!