我正在尝试更新当前使用旧版API的Spotify远程控制应用程序以使用新的1.x API。 是否可以使用1.x API访问有关当前正在播放的曲目的信息? models.player.track似乎不再存在(虽然它在文档中)。
对于好奇的人,我在Spotify Desktop中运行我的应用程序,它使用websockets与Python服务器通信,然后为手机和平板电脑提供Web界面,以远程控制桌面上运行的Spotify实例。使用传统API可以很好地工作,我可以控制播放并从任何连接的遥控器获取正在播放的信息。我认为这个应用程序很快就会停止工作,因为Spotify表示他们正在淘汰旧版API。 (除非我假设应用程序将停止工作是错误的,否则不要介意)。
感谢。
答案 0 :(得分:1)
可以访问加载Player
的track
属性的当前播放曲目。
你会做这样的事情:
require(['$api/models'], function(models) {
function printStatus(track) {
if (track === null) {
console.log('No track currently playing');
} else {
console.log('Now playing: ' + track.name);
}
}
// update on load
models.player.load('track').done(function(p) {
printStatus(p.track);
});
// update on change
models.player.addEventListener('change', function(p) {
printStatus(p.data.track);
});
});
您在Tutorial App名为获取当前正在播放的曲目中有一个有效的示例。