pull/586/head
FongMi 1 year ago
parent 4d55664016
commit 18f134190e
  1. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java
  2. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  3. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  4. 23
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  5. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  6. 2
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java

@ -189,7 +189,7 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List
}
private void onDecode() {
mPlayers.toggleDecode(mBinding.exo);
mPlayers.toggleDecode();
setDecode();
}

@ -377,7 +377,7 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
}
private void onDecode() {
mPlayers.toggleDecode(mBinding.exo);
mPlayers.toggleDecode();
setDecode();
}

@ -822,7 +822,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
}
private void onDecode() {
mPlayers.toggleDecode(mBinding.exo);
mPlayers.toggleDecode();
setDecode();
}

@ -76,6 +76,7 @@ public class Players implements Player.Listener, ParseCallback {
private MediaSessionCompat session;
private ExoPlayer exoPlayer;
private ParseJob parseJob;
private PlayerView view;
private List<Sub> subs;
private String format;
private String url;
@ -107,21 +108,22 @@ public class Players implements Player.Listener, ParseCallback {
MediaControllerCompat.setMediaController(activity, session.getController());
}
public void init(PlayerView exo) {
public void init(PlayerView view) {
releasePlayer();
initExo(exo);
setPlayer(view);
setMediaItem();
}
private void initExo(PlayerView exo) {
private void setPlayer(PlayerView view) {
exoPlayer = new ExoPlayer.Builder(App.get()).setLoadControl(ExoUtil.buildLoadControl()).setTrackSelector(ExoUtil.buildTrackSelector()).setRenderersFactory(ExoUtil.buildRenderersFactory(isHard() ? EXTENSION_RENDERER_MODE_ON : EXTENSION_RENDERER_MODE_PREFER)).setMediaSourceFactory(ExoUtil.buildMediaSourceFactory()).build();
exoPlayer.setAudioAttributes(AudioAttributes.DEFAULT, true);
exoPlayer.addAnalyticsListener(new EventLogger());
exoPlayer.setHandleAudioBecomingNoisy(true);
exo.setRender(Setting.getRender());
view.setRender(Setting.getRender());
exoPlayer.setPlayWhenReady(true);
exoPlayer.addListener(this);
exo.setPlayer(exoPlayer);
view.setPlayer(exoPlayer);
this.view = view;
}
public ExoPlayer get() {
@ -277,10 +279,10 @@ public class Players implements Player.Listener, ParseCallback {
return setSpeed(speed);
}
public void toggleDecode(PlayerView exo) {
public void toggleDecode() {
decode = isHard() ? SOFT : HARD;
Setting.putDecode(decode);
init(exo);
init(view);
}
public String getPositionTime(long time) {
@ -317,8 +319,8 @@ public class Players implements Player.Listener, ParseCallback {
}
public void stop() {
if (parseJob != null) parseJob.stop();
if (exoPlayer != null) exoPlayer.stop();
stopParse();
}
public void release() {
@ -331,9 +333,8 @@ public class Players implements Player.Listener, ParseCallback {
}
private void releasePlayer() {
if (exoPlayer == null) return;
exoPlayer.removeListener(this);
exoPlayer.release();
if (exoPlayer != null) exoPlayer.release();
if (view != null) view.setPlayer(null);
exoPlayer = null;
}

@ -397,7 +397,7 @@ public class LiveActivity extends BaseActivity implements CustomKeyDownLive.List
}
private void onDecode() {
mPlayers.toggleDecode(mBinding.exo);
mPlayers.toggleDecode();
setR1Callback();
setDecode();
}

@ -763,7 +763,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
}
private void onDecode() {
mPlayers.toggleDecode(mBinding.exo);
mPlayers.toggleDecode();
setR1Callback();
setDecode();
}

Loading…
Cancel
Save