From fb0fcab1c21446b0eb3ce70dc14d5a65d9fad486 Mon Sep 17 00:00:00 2001 From: FongMi Date: Sat, 5 Apr 2025 00:24:10 +0800 Subject: [PATCH] Fix bug --- .../java/com/fongmi/android/tv/player/Players.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/fongmi/android/tv/player/Players.java b/app/src/main/java/com/fongmi/android/tv/player/Players.java index 17276b549..819e6f037 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/Players.java +++ b/app/src/main/java/com/fongmi/android/tv/player/Players.java @@ -450,7 +450,7 @@ public class Players implements Player.Listener, ParseCallback { } private void setMediaItem() { - if (url != null) setMediaItem(headers, url, format, drm, subs, Constant.TIMEOUT_PLAY); + if (url != null) setMediaItem(headers, url, format, drm, subs, danmakus, Constant.TIMEOUT_PLAY); } public void setMediaItem(String url) { @@ -458,20 +458,20 @@ public class Players implements Player.Listener, ParseCallback { } private void setMediaItem(Map headers, String url) { - setMediaItem(headers, url, null, null, new ArrayList<>(), Constant.TIMEOUT_PLAY); + setMediaItem(headers, url, null, null, new ArrayList<>(), new ArrayList<>(), Constant.TIMEOUT_PLAY); } private void setMediaItem(Channel channel, int timeout) { - setMediaItem(channel.getHeaders(), channel.getUrl(), channel.getFormat(), channel.getDrm(), new ArrayList<>(), timeout); + setMediaItem(channel.getHeaders(), channel.getUrl(), channel.getFormat(), channel.getDrm(), new ArrayList<>(), new ArrayList<>(), timeout); } private void setMediaItem(Result result, int timeout) { - setMediaItem(result.getHeaders(), result.getRealUrl(), result.getFormat(), result.getDrm(), result.getSubs(), timeout); - setDanmaku(danmakus = result.getDanmaku()); + setMediaItem(result.getHeaders(), result.getRealUrl(), result.getFormat(), result.getDrm(), result.getSubs(), result.getDanmaku(), timeout); } - private void setMediaItem(Map headers, String url, String format, Drm drm, List subs, int timeout) { + private void setMediaItem(Map headers, String url, String format, Drm drm, List subs, List danmakus, int timeout) { if (exoPlayer != null) exoPlayer.setMediaItem(ExoUtil.getMediaItem(this.headers = checkUa(headers), UrlUtil.uri(this.url = url), this.format = format, this.drm = drm, checkSub(this.subs = subs), decode)); + if (danPlayer != null) setDanmaku(this.danmakus = danmakus); App.post(runnable, timeout); PlayerEvent.prepare(tag); session.setActive(true); @@ -484,7 +484,7 @@ public class Players implements Player.Listener, ParseCallback { } public void setDanmaku(Danmaku item) { - if (danPlayer != null) danPlayer.setDanmaku(item); + danPlayer.setDanmaku(item); if (danmakus == null) danmakus = new ArrayList<>(); if (!item.isEmpty() && !danmakus.contains(item)) danmakus.add(0, item); for (int i = 0; i < danmakus.size(); i++) danmakus.get(i).setSelected(danmakus.get(i).getUrl().equals(item.getUrl()) && !danmakus.get(i).isSelected());