diff --git a/app/src/main/java/com/github/catvod/bean/Result.java b/app/src/main/java/com/github/catvod/bean/Result.java index 78009793..0a223c7c 100644 --- a/app/src/main/java/com/github/catvod/bean/Result.java +++ b/app/src/main/java/com/github/catvod/bean/Result.java @@ -26,6 +26,8 @@ public class Result { private String header; @SerializedName("format") private String format; + @SerializedName("danmaku") + private String danmaku; @SerializedName("url") private Object url; @SerializedName("subs") @@ -148,6 +150,11 @@ public class Result { return this; } + public Result danmaku(String danmaku) { + this.danmaku = danmaku; + return this; + } + public Result format(String format) { this.format = format; return this; diff --git a/app/src/main/java/com/github/catvod/spider/Bili.java b/app/src/main/java/com/github/catvod/spider/Bili.java index 511e433b..d8f7ec1a 100644 --- a/app/src/main/java/com/github/catvod/spider/Bili.java +++ b/app/src/main/java/com/github/catvod/spider/Bili.java @@ -149,7 +149,7 @@ public class Bili extends Spider { if (!login && !ask) checkLogin(); String[] split = ids.get(0).split("@"); - String id = split[0]; + String bvid = split[0]; String aid = split[1]; String api = "https://api.bilibili.com/x/web-interface/view?aid=" + aid; @@ -169,7 +169,7 @@ public class Bili extends Spider { flag.put("B站", TextUtils.join("#", episode)); episode = new ArrayList<>(); - api = "https://api.bilibili.com/x/web-interface/archive/related?bvid=" + id; + api = "https://api.bilibili.com/x/web-interface/archive/related?bvid=" + bvid; JSONArray array = new JSONObject(OkHttp.string(api, getMember())).optJSONArray("data"); for (int i = 0; i < array.length(); i++) { JSONObject object = array.getJSONObject(i); @@ -212,8 +212,9 @@ public class Bili extends Spider { if (empty) findVideo(dash, video, dash.getVideo().get(0).getId()); String mpd = getMpd(dash, video.toString(), audio.toString()); + String dan = "https://api.bilibili.com/x/v1/dm/list.so?oid=".concat(cid); String url = "data:application/dash+xml;base64," + Base64.encodeToString(mpd.getBytes(), 0); - return Result.get().url(url).dash().header(getMember()).string(); + return Result.get().url(url).danmaku(dan).dash().header(getMember()).string(); } private void findAudio(Dash dash, StringBuilder sb) { diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index 01fb9370..b09820ca 100644 Binary files a/jar/custom_spider.jar and b/jar/custom_spider.jar differ diff --git a/jar/custom_spider.jar.md5 b/jar/custom_spider.jar.md5 index eb366571..298e0865 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -37e03cb1531bf4b163bf0b366bc9aa6c +d5a5fbed39e0451e8f201f8bf53f276c