[英]Spotify Apps - Getting Playlist Tracks
我正在开发Spotify应用,并希望获取播放列表的曲目。 有功能playlist.tracks
但似乎已缓存并获得了错误的曲目列表。 它也应该很慢,不建议在API文档中使用。 但是,我还有什么其他选择来获取播放列表的曲目? 此刻,我只使用一次playlist.tracks
并将后端playlist.tracks
通知我的后端。
谢谢。
对于1.0 API:
require([
'$api/models'
], function (models) {
var addList = function(list) {
list.load('tracks').done(function(list) {
list.tracks.snapshot().done(function(trackSnapshot){
var tracks = trackSnapshot.toArray();
for(var i=0; i<tracks.length; i++) {
addTrack(tracks[i]);
}
});
});
}
var addTrack = function(track) {
track.load('name','artists').done(function(track) {
var artists = track.artists;
var artistsList = [];
for (var i=0; i<artists.length; i++) {
artistsList.push(artists[i].name);
}
// Print out info if desired
var addedTrackRow = document.createElement('p');
addedTrackRow.innerHTML = "Added track: " + artistsList.join(', ') + ' - ' + track.name;
document.getElementById('addedTracks').appendChild(addedTrackRow);
});
}
exports.addList = addList;
exports.addTrack = addTrack;
}
// Example of use:
addList(models.Playlist.fromURI(...))
addTrack(models.Track.fromURI(...))
我已经对它进行了如上所述的测试,并且可以正常工作。
我花了一些时间自己寻找答案,而且我也在寻找如何访问列表中的曲目,即使它在github上“ Metadata”部分的“ tutorial-app”中已经说明了; “从艺术家,专辑,曲目或播放列表中获取元数据”。
我希望这是有用的。
这是一个小样本:
pl = new m.Playlist();
alb = m.Album.fromURI(uri, function(album) {
pl.name = album.name;
$.each(album.tracks,function(index,track){
pl.add(m.Track.fromURI(track.uri));
});
希望能有所帮助。
$.each(pl.data.all(),function(i,track){ myAwesomePlaylist.add(track); });
其中pl是播放列表
Playlist
类实现了Collection
接口。 因此,您可以在循环中调用函数get
over playlist对象来获取所有曲目。 示例代码:
var i=0;
for (i=0;i<models.library.starredPlaylist.length;i++)
{
var track = models.library.starredPlaylist.get(i);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.