diff --git a/app/src/main/java/com/fongmi/android/tv/player/Players.java b/app/src/main/java/com/fongmi/android/tv/player/Players.java index 2674874ea..8c9812fa1 100644 --- a/app/src/main/java/com/fongmi/android/tv/player/Players.java +++ b/app/src/main/java/com/fongmi/android/tv/player/Players.java @@ -13,6 +13,7 @@ import com.google.android.exoplayer2.DefaultRenderersFactory; import com.google.android.exoplayer2.ExoPlayer; import com.google.android.exoplayer2.PlaybackException; import com.google.android.exoplayer2.Player; +import com.google.android.exoplayer2.analytics.AnalyticsListener; import com.google.android.exoplayer2.trackselection.DefaultTrackSelector; import com.google.android.exoplayer2.util.Util; @@ -20,7 +21,7 @@ import java.util.Formatter; import java.util.Locale; import java.util.Map; -public class Players implements Player.Listener, ParseTask.Callback { +public class Players implements Player.Listener, AnalyticsListener, ParseTask.Callback { private StringBuilder builder; private Formatter formatter; @@ -40,6 +41,7 @@ public class Players implements Player.Listener, ParseTask.Callback { selector.setParameters(selector.getParameters().buildUpon().setPreferredTextLanguage("zh").build()); DefaultRenderersFactory factory = new DefaultRenderersFactory(App.get()).experimentalSetSynchronizeCodecInteractionsWithQueueingEnabled(true).setExtensionRendererMode(DefaultRenderersFactory.EXTENSION_RENDERER_MODE_ON); exoPlayer = new ExoPlayer.Builder(App.get()).setLoadControl(new DefaultLoadControl()).setRenderersFactory(factory).setTrackSelector(selector).build(); + exoPlayer.addAnalyticsListener(this); exoPlayer.addListener(this); } @@ -184,4 +186,9 @@ public class Players implements Player.Listener, ParseTask.Callback { public void onPlaybackStateChanged(int state) { PlayerEvent.state(state); } + + @Override + public void onAudioSinkError(@NonNull EventTime eventTime, @NonNull Exception audioSinkError) { + seekTo(1000); + } }