From f266ce0b7a7a7ac788a323b4b0a605c70a7552cb Mon Sep 17 00:00:00 2001 From: Ryan Heise Date: Fri, 7 Aug 2020 22:50:36 +1000 Subject: [PATCH] Skip items in playlist with error on Android. --- .../java/com/ryanheise/just_audio/AudioPlayer.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/android/src/main/java/com/ryanheise/just_audio/AudioPlayer.java b/android/src/main/java/com/ryanheise/just_audio/AudioPlayer.java index 815ebd1..ef54556 100644 --- a/android/src/main/java/com/ryanheise/just_audio/AudioPlayer.java +++ b/android/src/main/java/com/ryanheise/just_audio/AudioPlayer.java @@ -74,6 +74,7 @@ public class AudioPlayer implements MethodCallHandler, Player.EventListener, Met private Map mediaSources = new HashMap(); private IcyInfo icyInfo; private IcyHeaders icyHeaders; + private int errorCount; private SimpleExoPlayer player; private MediaSource mediaSource; @@ -246,6 +247,14 @@ public class AudioPlayer implements MethodCallHandler, Player.EventListener, Met Log.e(TAG, "default: " + error.getUnexpectedException().getMessage()); } sendError(String.valueOf(error.type), error.getMessage()); + errorCount++; + if (player.hasNext()) { + if (errorCount <= 5) { + int nextIndex = currentIndex + 1; + player.prepare(mediaSource); + player.seekTo(nextIndex, 0); + } + } } @Override @@ -505,6 +514,7 @@ public class AudioPlayer implements MethodCallHandler, Player.EventListener, Met player.stop(); break; } + errorCount = 0; prepareResult = result; transition(ProcessingState.loading); if (player.getShuffleModeEnabled()) {