PlaybackState.fromMap constructor

PlaybackState.fromMap(
  1. Map<String, dynamic> map
)

Creates a playback state from a map.

Implementation

factory PlaybackState.fromMap(Map<String, dynamic> map) {
  return PlaybackState(
    state: AudioPlaybackState.values.byName(
      map.parseDefault('state', AudioPlaybackState.idle.name),
    ),
    currentTrack: map.parse<Map<String, dynamic>>('currentTrack') != null
        ? AudioTrack.fromMap(
            map.parseDefault('currentTrack', <String, dynamic>{}),
          )
        : null,
    position: map.parse<Duration>('position') ?? Duration.zero,
    duration: map.parse<Duration>('duration') ?? Duration.zero,
    bufferedPosition:
        map.parse<Duration>('bufferedPosition') ?? Duration.zero,
    volume: map.parseDefault('volume', 1),
    speed: map.parseDefault('speed', 1),
    shuffleMode: ShuffleMode.values.byName(
      map.parseDefault('shuffleMode', ShuffleMode.none.name),
    ),
    repeatMode: RepeatMode.values.byName(
      map.parseDefault('repeatMode', RepeatMode.none.name),
    ),
    isBuffering: map.parseDefault('isBuffering', false),
    loadingState: AudioLoadingState.values.byName(
      map.parseDefault('loadingState', AudioLoadingState.notLoaded.name),
    ),
    cacheState: AudioCacheState.values.byName(
      map.parseDefault('cacheState', AudioCacheState.notCached.name),
    ),
    currentIndex: map.parseDefault('currentIndex', 0),
    errorMessage: map.parse('errorMessage'),
    extra: map.parse<Map<String, dynamic>>('extra'),
  );
}