Fix bug in code to skip error items on Android.

This commit is contained in:
Ryan Heise 2020-08-08 01:29:24 +10:00
parent d6e14ae9d6
commit e977949d46
3 changed files with 11 additions and 7 deletions

View File

@ -248,14 +248,12 @@ public class AudioPlayer implements MethodCallHandler, Player.EventListener, Met
}
sendError(String.valueOf(error.type), error.getMessage());
errorCount++;
if (player.hasNext()) {
if (errorCount <= 5) {
if (player.hasNext() && currentIndex != null && errorCount <= 5) {
int nextIndex = currentIndex + 1;
player.prepare(mediaSource);
player.seekTo(nextIndex, 0);
}
}
}
@Override
public void onSeekProcessed() {

View File

@ -71,7 +71,7 @@ class _MyAppState extends State<MyApp> {
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");
}
}

View File

@ -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.