From f5ff95d7c59550d20a68c2e84f0d092318ab8f3a Mon Sep 17 00:00:00 2001 From: FongMi Date: Sun, 16 Oct 2022 08:57:23 +0800 Subject: [PATCH] Fix audio sink error --- .../main/java/com/fongmi/android/tv/player/Players.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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); + } }