load method
Starts loading the current audio source and returns the audio duration as
soon as it is known, or null
if unavailable.
This method throws:
- Exception if no audio source has been previously set.
- PlayerException if the audio source was unable to be loaded.
- PlayerInterruptedException if another call to load happened before this call completed or the player was stopped or disposed of before the call could complete.
Implementation
Future<Duration?> load() async {
if (_disposed) return null;
if (_audioSource == null) {
throw Exception('Must set AudioSource before loading');
}
if (_active) {
final initialSeekValues = _initialSeekValues;
_initialSeekValues = null;
return await _load(await _platform, _audioSource!,
initialSeekValues: initialSeekValues);
} else {
// This will implicitly load the current audio source.
return await _setPlatformActive(true);
}
}