0

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

4

1 回答 1

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 );
    });
});
于 2012-05-06T01:08:16.060 回答