Spotify API在Player视图中抛出TypeError

时间:2012-05-03 09:54:05

标签: javascript spotify

我正在尝试将播放器视图添加到我的应用中,因此我将获得封面图片和播放/暂停按钮。但是,当我尝试单击播放按钮时,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中的错误,还是一些未记录的事件?

1 个答案:

答案 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 );
    });
});