From 1c6cf4a593cafd9ec026d9e692d61a444a1b829b Mon Sep 17 00:00:00 2001 From: FongMi Date: Tue, 9 May 2023 23:49:49 +0800 Subject: [PATCH] Clean ijk code --- .../android/tv/ui/activity/DetailActivity.java | 1 - .../android/tv/ui/activity/LiveActivity.java | 1 - .../java/com/fongmi/android/tv/player/Players.java | 3 ++- .../android/tv/ui/activity/DetailActivity.java | 1 - .../danmaku/ijk/media/player/ui/IjkVideoView.java | 14 +++++++++++--- 5 files changed, 13 insertions(+), 7 deletions(-) diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index 71debe7a4..5fea7a30b 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -294,7 +294,6 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis private void setVideoView() { mPlayers.set(getExo(), getIjk()); - getIjk().setRender(Prefers.getRender()); getExo().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); getIjk().getSubtitleView().setTextSize(TypedValue.COMPLEX_UNIT_SP, 16); } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java index 1e7374826..7270019dd 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java @@ -190,7 +190,6 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick private void setVideoView() { mPlayers.set(getExo(), getIjk()); setScale(Prefers.getLiveScale()); - getIjk().setRender(Prefers.getRender()); findViewById(R.id.timeBar).setNextFocusUpId(R.id.home); mBinding.control.speed.setText(mPlayers.getSpeedText()); mBinding.control.invert.setActivated(Prefers.isInvert()); 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 ef5330c63..bb03a84e9 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 @@ -81,8 +81,9 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic } private void setupIjk(IjkVideoView view) { - ijkPlayer = view.setPlayer(decode); + ijkPlayer = view.render(Prefers.getRender()).decode(decode); ijkPlayer.addListener(this); + ijkPlayer.build(); } public ExoPlayer exo() { diff --git a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java index 2e7230461..ddb545a62 100644 --- a/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java +++ b/app/src/mobile/java/com/fongmi/android/tv/ui/activity/DetailActivity.java @@ -290,7 +290,6 @@ public class DetailActivity extends BaseActivity implements Clock.Callback, Cust private void setVideoView() { mPlayers.set(getExo(), getIjk()); - getIjk().setRender(Prefers.getRender()); if (ResUtil.isLand(this)) enterFullscreen(); getExo().getSubtitleView().setStyle(ExoUtil.getCaptionStyle()); getIjk().getSubtitleView().setTextSize(TypedValue.COMPLEX_UNIT_SP, 14); diff --git a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/ui/IjkVideoView.java b/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/ui/IjkVideoView.java index 8cbf94a9b..fb6a816e6 100644 --- a/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/ui/IjkVideoView.java +++ b/ijkplayer/src/main/java/tv/danmaku/ijk/media/player/ui/IjkVideoView.java @@ -84,13 +84,21 @@ public class IjkVideoView extends FrameLayout implements MediaController.MediaPl mCurrentSpeed = 1; } - public IjkVideoView setPlayer(int decode) { - mPlayer = new IjkMediaPlayer(); - mPlayer.setListener(this); + public IjkVideoView decode(int decode) { mCurrentDecode = decode; return this; } + public IjkVideoView render(int render) { + setRender(render); + return this; + } + + public void build() { + mPlayer = new IjkMediaPlayer(); + mPlayer.setListener(this); + } + public void addListener(IMediaPlayer.Listener listener) { mListener = listener; }