是否有可能在1.x应用程序api中获取当前播放的曲目?

时间:2014-03-13 17:05:32

标签: spotify spotify-app

我正在尝试更新当前使用旧版API的Spotify远程控制应用程序以使用新的1.x API。 是否可以使用1.x API访问有关当前正在播放的曲目的信息? models.player.track似乎不再存在(虽然它在文档中)。

对于好奇的人,我在Spotify Desktop中运行我的应用程序,它使用websockets与Python服务器通信,然后为手机和平板电脑提供Web界面,以远程控制桌面上运行的Spotify实例。使用传统API可以很好地工作,我可以控制播放并从任何连接的遥控器获取正在播放的信息。我认为这个应用程序很快就会停止工作,因为Spotify表示他们正在淘汰旧版API。 (除非我假设应用程序将停止工作是错误的,否则不要介意)。

感谢。

1 个答案:

答案 0 :(得分:1)

可以访问加载Playertrack属性的当前播放曲目。

你会做这样的事情:

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名为获取当前正在播放的曲目中有一个有效的示例。