[exo] custom load control

pull/123/head
FongMi 3 years ago
parent 24b954463c
commit 8cd2259910
  1. 6
      app/src/main/java/com/fongmi/android/tv/player/ExoUtil.java
  2. 3
      app/src/main/java/com/fongmi/android/tv/player/Players.java

@ -17,7 +17,9 @@ import androidx.media3.datasource.cache.Cache;
import androidx.media3.datasource.cache.CacheDataSource;
import androidx.media3.datasource.cache.NoOpCacheEvictor;
import androidx.media3.datasource.cache.SimpleCache;
import androidx.media3.exoplayer.DefaultLoadControl;
import androidx.media3.exoplayer.DefaultRenderersFactory;
import androidx.media3.exoplayer.LoadControl;
import androidx.media3.exoplayer.RenderersFactory;
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory;
import androidx.media3.exoplayer.source.MediaSource;
@ -50,6 +52,10 @@ public class ExoUtil {
private static DatabaseProvider database;
private static Cache cache;
public static LoadControl buildLoadControl() {
return new DefaultLoadControl.Builder().setBufferDurationsMs(DefaultLoadControl.DEFAULT_MIN_BUFFER_MS, DefaultLoadControl.DEFAULT_MAX_BUFFER_MS * 2, DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_MS, DefaultLoadControl.DEFAULT_BUFFER_FOR_PLAYBACK_AFTER_REBUFFER_MS).build();
}
public static TrackSelector buildTrackSelector() {
DefaultTrackSelector trackSelector = new DefaultTrackSelector(App.get());
trackSelector.setParameters(trackSelector.buildUponParameters().setPreferredTextLanguage("zh"));

@ -5,7 +5,6 @@ import androidx.media3.common.PlaybackException;
import androidx.media3.common.Player;
import androidx.media3.common.TrackSelectionOverride;
import androidx.media3.common.util.Util;
import androidx.media3.exoplayer.DefaultLoadControl;
import androidx.media3.exoplayer.ExoPlayer;
import androidx.media3.exoplayer.analytics.AnalyticsListener;
import androidx.media3.ui.PlayerView;
@ -74,7 +73,7 @@ public class Players implements Player.Listener, IMediaPlayer.OnInfoListener, IM
}
private void setupExo(PlayerView view) {
exoPlayer = new ExoPlayer.Builder(App.get()).setLoadControl(new DefaultLoadControl()).setRenderersFactory(ExoUtil.buildRenderersFactory()).setTrackSelector(ExoUtil.buildTrackSelector()).build();
exoPlayer = new ExoPlayer.Builder(App.get()).setLoadControl(ExoUtil.buildLoadControl()).setRenderersFactory(ExoUtil.buildRenderersFactory()).setTrackSelector(ExoUtil.buildTrackSelector()).build();
exoPlayer.addAnalyticsListener(this);
exoPlayer.setPlayWhenReady(true);
exoPlayer.addListener(this);

Loading…
Cancel
Save