onPlaybackStateChanged method
void
onPlaybackStateChanged(
- String state
)
override
Implementation
@override
void onPlaybackStateChanged(String state) {
final bool isEnded = state == 'ended';
final bool isReady = state == 'ready';
final bool isBuffering = state == 'buffering';
final bool shouldKeepLoading =
!isReady && !isEnded && value.error == null && (isBuffering || value.duration == Duration.zero || value.isLoading);
value = value.copyWith(
isLoading: shouldKeepLoading,
isBuffering: isBuffering,
isEnded: isEnded,
position: isEnded ? value.duration : value.position,
error: isReady ? null : value.error,
);
_updateDurationIfNeeded();
if (isEnded) stopUpdatePositionTimer();
}