diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b1f7531f..221b781a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -3,6 +3,8 @@ package="com.github.catvod"> + + vipFlags) { - if (flag.equals("直連")) return Result.get().url(id).string(); + if (flag.equals("直連")) return Result.get().url(id).subs(getSubs(id)).string(); if (flag.equals("嗅探")) return Result.get().parse().url(id).string(); if (flag.equals("解析")) return Result.get().parse().jx().url(id).string(); return super.playerContent(flag, id, vipFlags); } + private List getSubs(String url) { + if (!url.startsWith("file://")) return Collections.emptyList(); + File file = new File(url.replace("file://", "")); + if (file.getParentFile() == null) return Collections.emptyList(); + List subs = new ArrayList<>(); + for (File temp : Objects.requireNonNull(file.getParentFile().listFiles())) { + String ext = Utils.getExt(temp.getName()); + if (Utils.isSub(ext)) subs.add(Sub.create().name(Utils.removeExt(temp.getName())).ext(ext).url("file://" + temp.getAbsolutePath())); + } + return subs; + } + private Vod vod(String url) { Vod vod = new Vod(); vod.setVodId(url); diff --git a/app/src/main/java/com/github/catvod/utils/Utils.java b/app/src/main/java/com/github/catvod/utils/Utils.java index 25a29afa..7100504d 100644 --- a/app/src/main/java/com/github/catvod/utils/Utils.java +++ b/app/src/main/java/com/github/catvod/utils/Utils.java @@ -45,6 +45,10 @@ public class Utils { return ext.equals("srt") || ext.equals("ass") || ext.equals("ssa"); } + public static String getExt(String name) { + return name.substring(name.lastIndexOf(".") + 1); + } + public static String getSize(double size) { if (size <= 0) return ""; if (size > 1024 * 1024 * 1024 * 1024.0) { diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index 51c0e6a0..9574fbec 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 5160265e..a55de629 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -14916e05a5fabbc24aad217565c93f7b +0b5053aea39f2bdfa8196b8685daa086