diff --git a/pom.xml b/pom.xml index 5d8cfa2..73ced4c 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ bilibili Demo project for Spring Boot - 17 + 1.8 1.6.10 diff --git a/src/main/java/com/yutou/bilibili/BiliBili/Live.java b/src/main/java/com/yutou/bilibili/BiliBili/Live.java index e288a8c..ee2957e 100644 --- a/src/main/java/com/yutou/bilibili/BiliBili/Live.java +++ b/src/main/java/com/yutou/bilibili/BiliBili/Live.java @@ -312,13 +312,8 @@ public class Live implements ApplicationContextAware { } catch (Exception e) { int popular = LiveUtils.bytesToInt2(bytes, 0); info.setPopular(popular); - if(popular>1){ - upData.setLive(1); - }else{ - upData.setLive(0); - } - Log.i(upData.getRoomid()+" >>> "+upData.getLive()+" >> "+popular); } + upData.setLive(LiveUtils.getLiveState(roomId)?1:0); } } catch (Exception e) { diff --git a/src/main/java/com/yutou/bilibili/BiliBili/LiveUtils.java b/src/main/java/com/yutou/bilibili/BiliBili/LiveUtils.java index d865b9c..6f9358c 100644 --- a/src/main/java/com/yutou/bilibili/BiliBili/LiveUtils.java +++ b/src/main/java/com/yutou/bilibili/BiliBili/LiveUtils.java @@ -348,14 +348,14 @@ public class LiveUtils { } public static JSONObject getLiveInfo(int roomId) { - return http_get("https://api.live.bilibili.com/xlive/web-room/v1/index/getInfoByRoom?room_id=" + roomId); + return http_get("https://api.live.bilibili.com/xlive/web-room/v1/index/getInfoByRoom?room_id=" + roomId+"&protocol=0,1&format=0,1,2&codec=0,1&qn=10000&platform=web&ptype=8"); } - private static JSONObject getLiveState(int roomId){ - return http_get("https://api.live.bilibili.com/xlive/web-room/v2/index/getRoomPlayInfo?room_id=" + roomId); + public static boolean getLiveState(int roomId){ + return liveStateMap.get(roomId); } public static void reloadLiveState(int roomId){ - JSONObject json = getLiveState(roomId); + JSONObject json = getLiveInfo(roomId); if(json!=null){ liveStateMap.put(roomId,json.getJSONObject("data").getInteger("live_status") == 1); } @@ -426,10 +426,6 @@ public class LiveUtils { } public static void main(String[] args) { - int index=1000; - for (int i = 0; i < index; i++) { - LiveUtils.getLiveInfo(21686237); - } } } diff --git a/src/main/java/com/yutou/bilibili/Tools/ApplicationInit.java b/src/main/java/com/yutou/bilibili/Tools/ApplicationInit.java index 58aaab5..0e04066 100644 --- a/src/main/java/com/yutou/bilibili/Tools/ApplicationInit.java +++ b/src/main/java/com/yutou/bilibili/Tools/ApplicationInit.java @@ -52,10 +52,10 @@ public class ApplicationInit implements ApplicationRunner { public void run() { Date date = new Date(); String time = new SimpleDateFormat("HH:mm").format(date); - checkLive(); if (time.equals(oldTime)) { return; } + checkLive(); oldTime = time; switch (time) { case "00:00": @@ -94,7 +94,7 @@ public class ApplicationInit implements ApplicationRunner { private void checkLive() { for (BilibiliUpInfo info : service.getUpInfo()) { - // LiveUtils.reloadLiveState(info.getRoomid()); + LiveUtils.reloadLiveState(info.getRoomid()); if (info.getOfflinelistening() == 1) { if (info.getEnable() == 1) { Live live = LiveUtils.liveContains(info);