我正在尝试使用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
方法。
我做错了什么?
答案 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);
});