我正在尝试将播放器视图添加到我的应用中,因此我将获得封面图片和播放/暂停按钮。但是,当我尝试单击播放按钮时,API会抛出TypeError:
未捕获的TypeError:无法读取未定义的属性“长度” Album.get
Object.defineProperties.playing.set
Player.play.context
错误代码似乎在models.js中,在线:641:
Album.prototype.get = function(index) {
if (index >= this.data.tracks.length) {
throw new RangeError("Index out of range");
}
return new Track(this.data.tracks[index]);
};
我的代码如下所示:
var p = new views.Player();
p.context = track.album;
document.getElementById('album-element').appendChild ( p.node );
这是spotify API中的错误,还是一些未记录的事件?
答案 0 :(得分:0)
track.album的track属性未填充。我不知道这是否有意。
解决方案是,如果您只想基于轨道创建播放器视图,请在该轨道对象中获取相册uri并根据它创建相册对象,然后将其传递到视图的上下文。
models.Track.fromURI('spotify:track:5XZ72GmBONwRGYltKlg1jv', function(track) {
models.Album.fromURI(track.album.uri, function(album) {
var p = new views.Player();
p.context = album;
document.getElementById('album-element').appendChild ( p.node );
});
});