0

プレーヤー ビューをアプリに追加しようとしているので、カバー アートと再生/一時停止ボタンを取得します。ただし、再生ボタンをクリックしようとすると、API は TypeError をスローします。


Uncaught 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 に答える