limit speed for exo tunneling mode

pull/496/head
FongMi 2 years ago
parent fcf09e34dd
commit 34cc8a18b6
  1. 2
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/CastActivity.java
  2. 5
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  3. 6
      app/src/main/java/com/fongmi/android/tv/player/Players.java
  4. 5
      app/src/mobile/java/com/fongmi/android/tv/ui/activity/VideoActivity.java
  5. 3
      app/src/mobile/java/com/fongmi/android/tv/ui/dialog/ControlDialog.java

@ -474,7 +474,7 @@ public class CastActivity extends BaseActivity implements CustomKeyDownCast.List
@Override
public void onSpeedUp() {
if (!mPlayers.isPlaying()) return;
if (!mPlayers.isPlaying() || !mPlayers.canAdjustSpeed()) return;
mBinding.control.speed.setText(mPlayers.setSpeed(mPlayers.getSpeed() < 3 ? 3 : 5));
mBinding.widget.speed.startAnimation(ResUtil.getAnim(R.anim.forward));
mBinding.widget.speed.setVisibility(View.VISIBLE);

@ -418,8 +418,10 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
private void setPlayerView() {
getIjk().setPlayer(mPlayers.getPlayer());
mBinding.control.player.setText(mPlayers.getPlayerText());
mBinding.control.speed.setEnabled(mPlayers.canAdjustSpeed());
getExo().setVisibility(mPlayers.isExo() ? View.VISIBLE : View.GONE);
getIjk().setVisibility(mPlayers.isIjk() ? View.VISIBLE : View.GONE);
mBinding.control.speed.setText(mPlayers.setSpeed(mHistory.getSpeed()));
mBinding.control.decode.setVisibility(mPlayers.isExo() ? View.VISIBLE : View.GONE);
}
@ -1028,7 +1030,6 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
if (Setting.isIncognito() && mHistory.getKey().equals(getHistoryKey())) mHistory.delete();
mBinding.control.opening.setText(mHistory.getOpening() == 0 ? getString(R.string.play_op) : mPlayers.stringToTime(mHistory.getOpening()));
mBinding.control.ending.setText(mHistory.getEnding() == 0 ? getString(R.string.play_ed) : mPlayers.stringToTime(mHistory.getEnding()));
mBinding.control.speed.setText(mPlayers.setSpeed(mHistory.getSpeed()));
mPlayers.setPlayer(getPlayer());
setScale(getScale());
setPlayerView();
@ -1423,7 +1424,7 @@ public class VideoActivity extends BaseActivity implements CustomKeyDownVod.List
@Override
public void onSpeedUp() {
if (!mPlayers.isPlaying()) return;
if (!mPlayers.isPlaying() || !mPlayers.canAdjustSpeed()) return;
mBinding.control.speed.setText(mPlayers.setSpeed(mPlayers.getSpeed() < 3 ? 3 : 5));
mBinding.widget.speed.startAnimation(ResUtil.getAnim(R.anim.forward));
mBinding.widget.speed.setVisibility(View.VISIBLE);

@ -240,6 +240,10 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic
return 0;
}
public boolean canAdjustSpeed() {
return isIjk() || (isExo() && !Setting.isTunnel());
}
public boolean haveTrack(int type) {
if (isExo() && exoPlayer != null) return ExoUtil.haveTrack(exoPlayer.getCurrentTracks(), type);
if (isIjk() && ijkPlayer != null) return ijkPlayer.haveTrack(type);
@ -289,7 +293,7 @@ public class Players implements Player.Listener, IMediaPlayer.Listener, Analytic
}
public String setSpeed(float speed) {
if (exoPlayer != null) exoPlayer.setPlaybackSpeed(speed);
if (exoPlayer != null && !Setting.isTunnel()) exoPlayer.setPlaybackSpeed(speed);
if (ijkPlayer != null) ijkPlayer.setSpeed(speed);
return getSpeedText();
}

@ -385,8 +385,10 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
private void setPlayerView() {
getIjk().setPlayer(mPlayers.getPlayer());
mBinding.control.action.player.setText(mPlayers.getPlayerText());
mBinding.control.action.speed.setEnabled(mPlayers.canAdjustSpeed());
getExo().setVisibility(mPlayers.isExo() ? View.VISIBLE : View.GONE);
getIjk().setVisibility(mPlayers.isIjk() ? View.VISIBLE : View.GONE);
mBinding.control.action.speed.setText(mPlayers.setSpeed(mHistory.getSpeed()));
mBinding.control.action.decode.setVisibility(mPlayers.isExo() ? View.VISIBLE : View.GONE);
if (mControlDialog != null && mControlDialog.isVisible()) mControlDialog.setPlayer();
}
@ -1015,7 +1017,6 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
if (Setting.isIncognito() && mHistory.getKey().equals(getHistoryKey())) mHistory.delete();
mBinding.control.action.opening.setText(mHistory.getOpening() == 0 ? getString(R.string.play_op) : mPlayers.stringToTime(mHistory.getOpening()));
mBinding.control.action.ending.setText(mHistory.getEnding() == 0 ? getString(R.string.play_ed) : mPlayers.stringToTime(mHistory.getEnding()));
mBinding.control.action.speed.setText(mPlayers.setSpeed(mHistory.getSpeed()));
mPlayers.setPlayer(getPlayer());
setScale(getScale());
setPlayerView();
@ -1465,7 +1466,7 @@ public class VideoActivity extends BaseActivity implements Clock.Callback, Custo
@Override
public void onSpeedUp() {
if (!mPlayers.isPlaying()) return;
if (!mPlayers.isPlaying() || !mPlayers.canAdjustSpeed()) return;
mBinding.control.action.speed.setText(mPlayers.setSpeed(mPlayers.getSpeed() < 3 ? 3 : 5));
mBinding.widget.speed.startAnimation(ResUtil.getAnim(R.anim.forward));
mBinding.widget.speed.setVisibility(View.VISIBLE);

@ -88,7 +88,6 @@ public class ControlDialog extends BaseDialog implements ParseAdapter.OnClickLis
protected void initView() {
if (player == null) dismiss();
if (player == null) return;
binding.speed.setValue(Math.max(player.getSpeed(), 0.5f));
binding.decode.setText(parent.control.action.decode.getText());
binding.ending.setText(parent.control.action.ending.getText());
binding.opening.setText(parent.control.action.opening.getText());
@ -175,6 +174,8 @@ public class ControlDialog extends BaseDialog implements ParseAdapter.OnClickLis
}
public void setPlayer() {
binding.speed.setEnabled(player.canAdjustSpeed());
binding.speed.setValue(Math.max(player.getSpeed(), 0.5f));
binding.player.setText(parent.control.action.player.getText());
binding.decode.setVisibility(parent.control.action.decode.getVisibility());
}

Loading…
Cancel
Save