load method

  1. @override
Future<Duration?> load([
  1. int? initialPosition
])
override

Loads the audio for the underlying audio source.

Implementation

@override
Future<Duration?> load([int? initialPosition]) async {
  initialPosition ??= 0;
  _initialPos = initialPosition;
  final absoluteInitialPosition =
      effectiveStart.inMilliseconds + initialPosition;
  _resumePos = absoluteInitialPosition / 1000.0;
  final fullDuration = (await html5AudioPlayer.loadUri(audioSourcePlayer.uri,
      Duration(milliseconds: absoluteInitialPosition)));
  _initialPos = null;
  if (fullDuration != null) {
    _duration = Duration(
        milliseconds: min((end ?? fullDuration).inMilliseconds,
                fullDuration.inMilliseconds) -
            effectiveStart.inMilliseconds);
  } else if (end != null) {
    _duration = Duration(
        milliseconds: end!.inMilliseconds - effectiveStart.inMilliseconds);
  }
  return _duration;
}