From a361c293e59eecaf4a56d74d0ae6f1284002d4ac Mon Sep 17 00:00:00 2001 From: FongMi Date: Thu, 16 Jan 2025 11:39:29 +0800 Subject: [PATCH] Add seek when casted --- .../com/fongmi/android/tv/bean/CastVideo.java | 16 ++++++++++++++-- .../android/tv/ui/activity/VideoActivity.java | 2 +- .../fongmi/android/tv/ui/dialog/CastDialog.java | 1 + 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/app/src/mobile/java/com/fongmi/android/tv/bean/CastVideo.java b/app/src/mobile/java/com/fongmi/android/tv/bean/CastVideo.java index c573a9b75..fec34c55f 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/bean/CastVideo.java +++ b/app/src/mobile/java/com/fongmi/android/tv/bean/CastVideo.java @@ -1,21 +1,29 @@ package com.fongmi.android.tv.bean; +import androidx.media3.common.C; + import com.fongmi.android.tv.server.Server; import com.github.catvod.utils.Path; import com.github.catvod.utils.Util; public class CastVideo { + private final long position; private final String name; private final String url; public static CastVideo get(String name, String url) { - return new CastVideo(name, url); + return new CastVideo(name, url, C.TIME_UNSET); + } + + public static CastVideo get(String name, String url, long position) { + return new CastVideo(name, url, position); } - private CastVideo(String name, String url) { + private CastVideo(String name, String url, long position) { if (url.startsWith("file")) url = Server.get().getAddress() + "/" + url.replace(Path.rootPath(), "").replace("://", ""); if (url.contains("127.0.0.1")) url = url.replace("127.0.0.1", Util.getIp()); + this.position = position; this.name = name; this.url = url; } @@ -27,4 +35,8 @@ public class CastVideo { public String getUrl() { return url; } + + public long getPosition() { + return position; + } } \ No newline at end of file diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java index 8aaee82eb..586d8041b 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java @@ -649,7 +649,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo } private void onCast() { - CastDialog.create().history(mHistory).video(CastVideo.get(mBinding.name.getText().toString(), mPlayers.getUrl())).fm(true).show(this); + CastDialog.create().history(mHistory).video(CastVideo.get(mBinding.name.getText().toString(), mPlayers.getUrl(), mPlayers.getPosition())).fm(true).show(this); } private void onInfo() { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/CastDialog.java b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/CastDialog.java index ff03f44f3..37f5c2b75 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/CastDialog.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/dialog/CastDialog.java @@ -181,6 +181,7 @@ public class CastDialog extends BaseDialog implements DeviceAdapter.OnClickListe @Override public void onSuccess(Unit unit) { + control.seek(video.getPosition(), null); control.play("1", null); onCasted(); }