2012-02-27 109 views
0

我想知道如何在我的spotify-app上添加专辑封面?显示专辑封面

有了这段代码,我可以揭示专辑的标题,但我该如何显示专辑封面!?

function updatePageWithAlbumName() { 

var header = document.getElementById("album"); 

// This will be null if nothing is playing. 
var playerTrackInfo = sp.trackPlayer.getNowPlayingTrack(); 

if (playerTrackInfo == null) { 
    header.innerText = "Geen album!"; 
} else { 
    var track = playerTrackInfo.track; 
    header.innerText = track.album.name; 
} 

}

回答

0

请不要使用任何sp.的API - 它们是私有的,并很快消失。

公共API记录在这里:http://developer.spotify.com/download/spotify-apps-api/preview/reference/

可以显示专辑封面是这样的:

<img src="[cover URI]"> 

编辑:为了得到当前曲目的封面URI:

var sp = getSpotifyApi(1); 
var models = sp.require('sp://import/scripts/api/models'); 

var currentTrackCoverUri = models.player.track.album.cover; 
+0

但是我怎样才能找到封面的URI /如何放置它?我检查了这个链接:http://developer.spotify.com/download/spotify-apps-api/preview/reference/4c26b7e8e0.html 他们在页面上也有一个例子,但是我怎样才能看到专辑封面我正在玩的歌? – 0846277 2012-02-28 23:14:48

+0

我需要用什么来代替'sp'?在开发者链接中,他们也使用'sp'。 – 0846277 2012-02-28 23:16:03

+0

他们使用sp.require来获取模型对象,就是这样。其他一切应该使用模型和视图对象。我更新了我的答案。 – iKenndac 2012-02-29 11:53:21

0

我想指出,该物业似乎被称为“形象”,而不是“封面”。
因此,通过iKenndac提供的片段会被改写为

var sp = getSpotifyApi(1); 
var models = sp.require('sp://import/scripts/api/models'); 
var currentTrackCoverUri = models.player.track.album.image; 

不知道这取决于我的Spotify的版本,我跑0.8.10.3.g07d01e81。

0

用户体验指南要求您在适当的时候呈现带有可播放性的专辑封面。这可以用另一个主题的解决方案来完成:Views.player album cover

+0

亲爱的朋友,谢谢你的评论帮助我很好。有了这个解决方案,它显示了skrillex的专辑封面,你能给我一个关于如何展示'现在播放专辑封面'的方向吗? – 0846277 2012-03-09 08:20:19

+0

您可以从模型〜播放器对象中提取该信息。 var models = sp.require('sp:// import/scripts/api/models'); models.Player.track.album 记得使用播放器观察监听器,以查看音轨更改的时间:models.EVENT.CHANGE – pompa 2012-03-09 11:03:34