load method
Loads an audio source.
Implementation
@override
Future<LoadResponse> load(LoadRequest request) async {
_logger.fine('load(${request.toMap()})');
if (request.audioSourceMessage is ConcatenatingAudioSourceMessage) {
final as = request.audioSourceMessage as ConcatenatingAudioSourceMessage;
final playable = Playlist(
as.children.map(_convertAudioSourceIntoMediaKit).toList(),
index: request.initialIndex ?? 0);
await _player.open(playable);
} else {
final playable =
_convertAudioSourceIntoMediaKit(request.audioSourceMessage);
_logger.fine('playable is ${playable.toString()}');
await _player.open(playable);
}
if (request.initialPosition != null) {
await _player.seek(request.initialPosition!);
}
return LoadResponse(duration: _player.state.duration);
}