有没有办法检测Spotify是否处于离线模式?我目前正在开发一个应用程序,显然取决于一个有效的互联网连接。我希望能够检测到是否存在与互联网的连接,如果没有,则显示错误消息。
我找到了一些似乎不起作用的javascript通用解决方案,例如:
var online = navigator.onLine;
答案 0 :(得分:5)
您可以通过访问会话对象中的状态来检测客户端是否处于脱机状态。
https://developer.spotify.com/technologies/apps/docs/a5a59ca068.html
您需要做的是使用观察者监听状态更改并查找OFFLINE状态。
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);
});
答案 1 :(得分:0)
http://developer.spotify.com/en/libspotify/docs/group__session.html
检查
sp_connectionstate
表示枚举值:
SP_CONNECTION_STATE_OFFLINE
应该得到你想要的东西。
答案 2 :(得分:0)
对于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
答案 3 :(得分:0)
这是您在较新的(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。