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 ef54556..c49613b 100644 --- a/android/src/main/java/com/ryanheise/just_audio/AudioPlayer.java +++ b/android/src/main/java/com/ryanheise/just_audio/AudioPlayer.java @@ -248,12 +248,10 @@ public class AudioPlayer implements MethodCallHandler, Player.EventListener, Met } 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); - } + if (player.hasNext() && currentIndex != null && errorCount <= 5) { + int nextIndex = currentIndex + 1; + player.prepare(mediaSource); + player.seekTo(nextIndex, 0); } } diff --git a/example/lib/main.dart b/example/lib/main.dart index 2e59fbe..2c2a007 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -71,7 +71,7 @@ class _MyAppState extends State { await _player.load(_playlist); } catch (e) { // catch load errors: 404, invalid url ... - print("An error occured (${e.code}): ${e.message}"); + print("An error occured $e"); } } diff --git a/lib/just_audio.dart b/lib/just_audio.dart index 54ab25e..14e8918 100644 --- a/lib/just_audio.dart +++ b/lib/just_audio.dart @@ -598,6 +598,9 @@ class PlayerException { final String message; PlayerException(this.code, this.message); + + @override + String toString() => "($code) $message"; } /// An error that occurs when one operation on the player has been interrupted @@ -606,6 +609,9 @@ class PlayerInterruptedException { final String message; PlayerInterruptedException(this.message); + + @override + String toString() => "$message"; } /// Encapsulates the playback state and current position of the player.