Support exo switch decode

pull/123/head
FongMi 3 years ago
parent dc722d4e8d
commit cb9b585a2a
  1. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/DetailActivity.java
  2. 3
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/LiveActivity.java
  3. 7
      app/src/leanback/java/com/fongmi/android/tv/ui/activity/SettingActivity.java
  4. 6
      app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java
  5. 4
      app/src/main/java/com/fongmi/android/tv/player/Players.java

@ -213,7 +213,6 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
private void setPlayerView() {
getExo().setVisibility(mPlayers.isExo() ? View.VISIBLE : View.GONE);
getIjk().setVisibility(mPlayers.isIjk() ? View.VISIBLE : View.GONE);
mBinding.control.decode.setVisibility(mPlayers.isExo() ? View.GONE : View.VISIBLE);
}
private void setVideoView() {
@ -481,8 +480,8 @@ public class DetailActivity extends BaseActivity implements CustomKeyDownVod.Lis
}
private void onDecode() {
if (mPlayers.isExo()) return;
mBinding.control.decode.setText(mPlayers.toggleDecode());
if (mPlayers.isExo()) getExo().setPlayer(mPlayers.exo());
getPlayer(false);
}

@ -163,7 +163,6 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
private void setPlayerView() {
getExo().setVisibility(mPlayers.isExo() ? View.VISIBLE : View.GONE);
getIjk().setVisibility(mPlayers.isIjk() ? View.VISIBLE : View.GONE);
mBinding.control.decode.setVisibility(mPlayers.isExo() ? View.GONE : View.VISIBLE);
}
private void setVideoView() {
@ -281,8 +280,8 @@ public class LiveActivity extends BaseActivity implements GroupPresenter.OnClick
}
private void onDecode() {
if (mPlayers.isExo()) return;
mBinding.control.decode.setText(mPlayers.toggleDecode());
if (mPlayers.isExo()) getExo().setPlayer(mPlayers.exo());
getUrl();
}

@ -191,7 +191,6 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
CharSequence[] array = ResUtil.getStringArray(R.array.select_player);
Prefers.putPlayer(index = index == array.length - 1 ? 0 : ++index);
mBinding.playerText.setText(array[index]);
if (Prefers.isExo()) forceHardDecode();
}
private void setDecode() {
@ -231,10 +230,4 @@ public class SettingActivity extends BaseActivity implements ConfigCallback, Sit
private void setWallRefresh() {
WallConfig.get().load();
}
private void forceHardDecode() {
CharSequence[] array = ResUtil.getStringArray(R.array.select_decode);
mBinding.decodeText.setText(array[1]);
Prefers.putDecode(1);
}
}

@ -7,7 +7,7 @@ import android.text.TextUtils;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.bean.Result;
import com.fongmi.android.tv.utils.FileUtil;
import com.google.android.exoplayer2.C;
import com.fongmi.android.tv.utils.Prefers;
import com.google.android.exoplayer2.DefaultRenderersFactory;
import com.google.android.exoplayer2.MediaItem;
import com.google.android.exoplayer2.PlaybackException;
@ -47,12 +47,12 @@ public class ExoUtil {
public static TrackSelector buildTrackSelector() {
DefaultTrackSelector trackSelector = new DefaultTrackSelector(App.get());
trackSelector.setParameters(trackSelector.buildUponParameters().setPreferredTextLanguage("zh").setIgnoredTextSelectionFlags(C.SELECTION_FLAG_DEFAULT | C.SELECTION_FLAG_FORCED));
trackSelector.setParameters(trackSelector.buildUponParameters().setPreferredTextLanguage("zh"));
return trackSelector;
}
public static RenderersFactory buildRenderersFactory() {
return new DefaultRenderersFactory(App.get()).setExtensionRendererMode(DefaultRenderersFactory.EXTENSION_RENDERER_MODE_ON);
return new DefaultRenderersFactory(App.get()).setExtensionRendererMode(Math.abs(Prefers.getDecode() - 2));
}
public static CaptionStyleCompat getCaptionStyle() {

@ -59,6 +59,7 @@ public class Players implements Player.Listener, IMediaPlayer.OnInfoListener, IM
}
public void setupExo() {
if (exoPlayer != null) releaseExo();
exoPlayer = new ExoPlayer.Builder(App.get()).setLoadControl(new DefaultLoadControl()).setRenderersFactory(ExoUtil.buildRenderersFactory()).setTrackSelector(ExoUtil.buildTrackSelector()).build();
exoPlayer.addAnalyticsListener(this);
exoPlayer.setPlayWhenReady(true);
@ -167,8 +168,9 @@ public class Players implements Player.Listener, IMediaPlayer.OnInfoListener, IM
}
public void setDecode(int decode) {
ijkPlayer.setDecode(decode);
Prefers.putDecode(decode);
ijkPlayer.setDecode(decode);
if (isExo()) setupExo();
}
public void seekTo(int time) {

Loading…
Cancel
Save