2012-05-03 15 views
0

Playerビューをアプリケーションに追加しようとしていますので、カバーアートと再生/一時停止ボタンが表示されます。私は再生ボタンをクリックしようとすると、しかし、APIは例外TypeError:Spotify APIがPlayerビューでTypeErrorをスローする

Uncaught TypeError: Cannot read property 'length' of undefined
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

track.albumのtracksプロパティに値が設定されません。これが意図されているかどうかわかりません。

解決策は、トラックに基づいたプレーヤービューのみを作成し、そのトラックオブジェクト内のアルバム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); 
    }); 
}); 
関連する問題