|
|
|
|
@ -38,7 +38,6 @@ import java.util.Map; |
|
|
|
|
public class Bili extends Spider { |
|
|
|
|
|
|
|
|
|
private static final String COOKIE = "buvid3=84B0395D-C9F2-C490-E92E-A09AB48FE26E71636infoc"; |
|
|
|
|
private static Map<String, String> audios; |
|
|
|
|
private static String cookie; |
|
|
|
|
|
|
|
|
|
private JsonObject extend; |
|
|
|
|
@ -54,13 +53,6 @@ public class Bili extends Spider { |
|
|
|
|
return headers; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void setAudio() { |
|
|
|
|
audios = new HashMap<>(); |
|
|
|
|
audios.put("30280", "192000"); |
|
|
|
|
audios.put("30232", "132000"); |
|
|
|
|
audios.put("30216", "64000"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void setCookie() { |
|
|
|
|
cookie = extend.get("cookie").getAsString(); |
|
|
|
|
if (cookie.startsWith("http")) cookie = OkHttp.string(cookie).trim(); |
|
|
|
|
@ -83,7 +75,6 @@ public class Bili extends Spider { |
|
|
|
|
public void init(Context context, String extend) throws Exception { |
|
|
|
|
this.extend = Json.safeObject(extend); |
|
|
|
|
setCookie(); |
|
|
|
|
setAudio(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
@ -231,9 +222,17 @@ public class Bili extends Spider { |
|
|
|
|
return result; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static HashMap<String, String> getAudioFormat() { |
|
|
|
|
HashMap<String, String> audios = new HashMap<>(); |
|
|
|
|
audios.put("30280", "192000"); |
|
|
|
|
audios.put("30232", "132000"); |
|
|
|
|
audios.put("30216", "64000"); |
|
|
|
|
return audios; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static void findAudio(Dash dash, StringBuilder sb) { |
|
|
|
|
for (Media audio : dash.getAudio()) { |
|
|
|
|
for (String key : audios.keySet()) { |
|
|
|
|
for (String key : getAudioFormat().keySet()) { |
|
|
|
|
if (audio.getId().equals(key)) { |
|
|
|
|
sb.append(getMedia(audio)); |
|
|
|
|
} |
|
|
|
|
@ -253,7 +252,7 @@ public class Bili extends Spider { |
|
|
|
|
if (media.getMimeType().startsWith("video")) { |
|
|
|
|
return getAdaptationSet(media, String.format(Locale.getDefault(), "height='%s' width='%s' frameRate='%s' sar='%s'", media.getHeight(), media.getWidth(), media.getFrameRate(), media.getSar())); |
|
|
|
|
} else if (media.getMimeType().startsWith("audio")) { |
|
|
|
|
return getAdaptationSet(media, String.format("numChannels='2' sampleRate='%s'", audios.get(media.getId()))); |
|
|
|
|
return getAdaptationSet(media, String.format("numChannels='2' sampleRate='%s'", getAudioFormat().get(media.getId()))); |
|
|
|
|
} else { |
|
|
|
|
return ""; |
|
|
|
|
} |
|
|
|
|
|