setImage不会使用Spotify Apps API在JavaScript中显示新图像

时间:2014-03-13 16:32:31

标签: javascript spotify spotify-app

我正在尝试使用setImage method设置不同的图像。

问题是新图像在很短的时间内变得可见,但随后逐渐淡化为原始图像。

除此之外,播放按钮消失。

这是我的代码:

require(['$api/models', '$views/image#Image'], function(models, Image) {

    // Play a single track
    var track = models.Track.fromURI('spotify:track:7B1Dl3tXqySkB8OPEwVvSu');
    var image = Image.forTrack(track, {player: true});

    // A line added by me to set the new image
    image.setImage("/img/spotify-logo.png");

    // Pass the player HTML code to the #single-track-player div
    document.getElementById('single-track-player')
        .appendChild(image.node);
});

此代码主要来自Spotify Apps Tutorial

我添加的唯一一行是使用setImage方法。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

使用Image.setImage设置自定义图像时可能存在竞争条件。

解决方案是使用Image.fromSource方法:

require(['$api/models', '$views/image#Image'], function(models, Image) {

    // Play a single track
    var track = models.Track.fromURI('spotify:track:7B1Dl3tXqySkB8OPEwVvSu');
    var image = Image.fromSource("/img/spotify-logo.png", {
        playerItem: track,
        player: true
    });

    // Pass the player HTML code to the #single-track-player div
    document.getElementById('single-track-player')
        .appendChild(image.node);

});