ユーザーがプレイリストをアプリケーションにドロップできるようにしている場合、プレイリストは最初の形式になります。お気づきのように、API には、要求していることを正確に実行するメソッドはありませんが、次のようなことができます。
var currentlyPlayingIsInPlaylist = function(playlistURI, callback) {
models.player.load("track").done(function() {
if (models.player.track) {
var currentlyPlayingTrack = models.player.track;
models.Playlist.fromURI(playlistURI).load("tracks").done(function(playlist) {
playlist.tracks.snapshot().done(function(snapshot) {
var matchingTrack = snapshot.find(currentlyPlayingTrack);
if (matchingTrack) {
callback(true);
} else {
callback(false);
}
});
});
} else {
callback(null, { "message" : "No track is playing" });
}
});
}
モデルが関数で利用可能であることを考えると。補足: 現在再生中のトラック プロパティがプレーヤーに読み込まれ、指定されたプレイリストにそのトラック プロパティが読み込まれた場合でも、現在のスナップショットを取得しているため、関数は非同期のままです。
お役に立てれば!