pull/137/head
FongMi 3 years ago
parent 3601bf9a47
commit 3b89e9850d
  1. 5
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/HomeActivity.java
  2. 48
      app/src/main/java/com/fongmi/android/tv/player/Players.java

@ -276,13 +276,12 @@ public class HomeActivity extends BaseActivity implements CustomTitleView.Listen
Notify.show(R.string.app_exit); Notify.show(R.string.app_exit);
mHandler.postDelayed(() -> mConfirmExit = false, 1000); mHandler.postDelayed(() -> mConfirmExit = false, 1000);
} else { } else {
release();
super.onBackPressed(); super.onBackPressed();
} }
} }
@Override private void release() {
protected void onDestroy() {
super.onDestroy();
Server.get().stop(); Server.get().stop();
Clock.get().release(); Clock.get().release();
Players.get().release(); Players.get().release();

@ -74,18 +74,18 @@ public class Players implements Player.Listener, ParseTask.Callback {
} }
public String getSpeed() { public String getSpeed() {
return String.format(Locale.getDefault(), "%.2f", exoPlayer.getPlaybackParameters().speed); return String.format(Locale.getDefault(), "%.2f", exo().getPlaybackParameters().speed);
} }
public void addSpeed() { public void addSpeed() {
float speed = exoPlayer.getPlaybackParameters().speed; float speed = exo().getPlaybackParameters().speed;
float addon = speed >= 2 ? 1f : 0.25f; float addon = speed >= 2 ? 1f : 0.25f;
speed = speed >= 5 ? 0.5f : speed + addon; speed = speed >= 5 ? 0.5f : speed + addon;
exoPlayer.setPlaybackSpeed(speed); exo().setPlaybackSpeed(speed);
} }
public void resetSpeed() { public void resetSpeed() {
exoPlayer.setPlaybackSpeed(1f); exo().setPlaybackSpeed(1f);
} }
public String getTime(long time) { public String getTime(long time) {
@ -100,27 +100,27 @@ public class Players implements Player.Listener, ParseTask.Callback {
} }
public long getCurrentPosition() { public long getCurrentPosition() {
return exoPlayer.getCurrentPosition(); return exo().getCurrentPosition();
} }
public long getDuration() { public long getDuration() {
return exoPlayer.getDuration(); return exo().getDuration();
} }
public void seekTo(int time) { public void seekTo(int time) {
exoPlayer.seekTo(getCurrentPosition() + time); exo().seekTo(getCurrentPosition() + time);
} }
public void seekTo(long time) { public void seekTo(long time) {
exoPlayer.seekTo(time); exo().seekTo(time);
} }
public boolean isPlaying() { public boolean isPlaying() {
return exoPlayer.isPlaying(); return exo().isPlaying();
} }
public boolean isIdle() { public boolean isIdle() {
return exoPlayer.getPlaybackState() == Player.STATE_IDLE; return exo().getPlaybackState() == Player.STATE_IDLE;
} }
public boolean canNext() { public boolean canNext() {
@ -139,39 +139,31 @@ public class Players implements Player.Listener, ParseTask.Callback {
} }
private void setMediaSource(Result result) { private void setMediaSource(Result result) {
exoPlayer.setMediaSource(ExoUtil.getSource(result)); exo().setMediaSource(ExoUtil.getSource(result));
PlayerEvent.state(0); PlayerEvent.state(0);
exoPlayer.prepare(); exo().prepare();
} }
private void setMediaSource(Map<String, String> headers, String url) { private void setMediaSource(Map<String, String> headers, String url) {
exoPlayer.setMediaSource(ExoUtil.getSource(headers, url)); exo().setMediaSource(ExoUtil.getSource(headers, url));
PlayerEvent.state(0); PlayerEvent.state(0);
exoPlayer.prepare(); exo().prepare();
} }
public void pause() { public void pause() {
if (exoPlayer != null) { exo().pause();
exoPlayer.pause();
}
} }
public void stop() { public void stop() {
this.retry = 0; this.retry = 0;
if (exoPlayer != null) { exo().stop();
exoPlayer.stop(); exo().clearMediaItems();
exoPlayer.clearMediaItems(); exo().setPlaybackSpeed(1.0f);
exoPlayer.setPlaybackSpeed(1.0f); if (webView != null) webView.stop(false);
}
if (webView != null) {
webView.stop(false);
}
} }
public void play() { public void play() {
if (exoPlayer != null) { exo().play();
exoPlayer.play();
}
} }
public void release() { public void release() {

Loading…
Cancel
Save