【问题标题】:Spotify Apps API: Detect offline modeSpotify Apps API:检测离线模式
【发布时间】:2012-04-08 08:22:17
【问题描述】:

有什么方法可以检测 Spotify 是否处于离线模式?我目前正在开发一个明显依赖于工作互联网连接的应用程序。我希望能够检测是否有互联网连接,如果没有,则显示错误消息。

我找到了一些似乎不起作用的 javascript 通用解决方案,例如:

var online = navigator.onLine;

【问题讨论】:

    标签: javascript offline spotify


    【解决方案1】:

    您可以通过访问会话对象中的状态来检测客户端是否离线。

    https://developer.spotify.com/technologies/apps/docs/a5a59ca068.html

    您需要做的是使用观察者监听状态变化并寻找离线状态。

    DISCONNECTED: 2
    DUMMY_USER: 4
    LOGGED_IN: 1
    LOGGED_OUT: 0
    OFFLINE: 3
    
    var sp = getSpotifyApi(1);
    var models = sp.require('sp://import/scripts/api/models');
    
    models.session.observe(models.EVENT.STATECHANGED, function() {
        console.log(models.session.state);
    });
    

    【讨论】:

    【解决方案2】:

    这是您在较新的 (2013+) 1.0 API 中执行此操作的方式:

     models.session.addEventListener('change:online',function({
        console.log('online =',models.session.online);
    });
    

    请参阅https://developer.spotify.com/docs/apps/api/1.0/api-models-session.html 了解更多信息。

    【讨论】:

      【解决方案3】:
      http://developer.spotify.com/en/libspotify/docs/group__session.html
      

      检查

      sp_connectionstate 
      

      对于枚举值:

      SP_CONNECTION_STATE_OFFLINE
      

      应该得到你想要的。

      【讨论】:

      【解决方案4】:

      对于 Apps API V1,您可以执行以下操作...

      require(['$api/models'], function(models) {
      
        // add a listener to pick up any changes in on / offline state
        models.session.addEventListener('change', changeOffline);
      
        function changeOffline(){
          var online = models.session.online; // returns true / false
          if(!online){
            // show offline message etc...
          } else {
            // hide offline message etc...
          }
        }
      });
      

      https://developer.spotify.com/docs/apps/api/1.0/models-session.html

      【讨论】:

        猜你喜欢
        • 2018-06-10
        • 1970-01-01
        • 1970-01-01
        • 2012-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-08
        相关资源
        最近更新 更多