From 28451bbc4b49eeaebf02d0b6f4f4339ed75803af Mon Sep 17 00:00:00 2001 From: FongMi Date: Tue, 2 Jul 2024 22:22:42 +0800 Subject: [PATCH] Update Youtube.java --- .../com/fongmi/android/tv/player/extractor/Youtube.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/player/extractor/Youtube.java b/app/src/main/java/com/fongmi/android/tv/player/extractor/Youtube.java index 2df7a8671..b9f93afcd 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/extractor/Youtube.java +++ b/app/src/main/java/com/fongmi/android/tv/player/extractor/Youtube.java @@ -27,7 +27,9 @@ public class Youtube implements Source.Extractor { private static final String MPD = "\n" + "\n" + "%s\n" + "%s\n" + "\n" + ""; private static final String ADAPT = "\n" + "\n" + "\n" + "%s\n" + "\n" + "\n" + "\n" + "\n" + ""; - private static final Pattern PATTERN = Pattern.compile("(?<=watch\\?v=|youtu.be/|/shorts/|/live/)([\\w-]{11})"); + private static final Pattern PATTERN_ID = Pattern.compile("(?<=watch\\?v=|youtu.be/|/shorts/|/live/)([\\w-]{11})"); + private static final Pattern PATTERN_LIST = Pattern.compile("(youtube\\.com|youtu\\.be).*list="); + private static YoutubeDownloader downloader; private static YoutubeDownloader getDownloader() { @@ -41,7 +43,7 @@ public class Youtube implements Source.Extractor { @Override public String fetch(String url) throws Exception { - Matcher matcher = PATTERN.matcher(url); + Matcher matcher = PATTERN_ID.matcher(url); if (!matcher.find()) return ""; String videoId = matcher.group(); RequestVideoInfo request = new RequestVideoInfo(videoId); @@ -95,7 +97,7 @@ public class Youtube implements Source.Extractor { private final String url; public static boolean match(String url) { - return PATTERN.matcher(url).find() && url.contains("list="); + return PATTERN_LIST.matcher(url).find(); } public static Parser get(String url) {