parse method

  1. @override
Future<Metadata> parse(
  1. String path, [
  2. Map<String, dynamic>? options
])
override

Implementation

@override
Future<Metadata> parse(String path, [Map<String, dynamic>? options]) async {
  final Map<dynamic, dynamic> rawMetadata = await (invokeGetMetadata(path) );

  final durationUs = rawMetadata['duration'] as int?;
  Duration? duration;
  if (durationUs != null) {
    duration = Duration(microseconds: durationUs);
  }

  final title = rawMetadata['title'] as String?;
  final album = rawMetadata['album'] as String?;
  final artist = rawMetadata['artist'] as String?;
  final genre = rawMetadata['genre'] as String?;
  final composer = rawMetadata['composer'] as String?;
  final trackNumber = rawMetadata['trackNumber'] as int?;
  final trackCount = rawMetadata['trackCount'] as int?;
  final year = rawMetadata['year'] as int?;

  return Metadata(
    path: path,
    duration: duration,
    title: title,
    album: album,
    artist: artist,
    genre: genre,
    composer: composer,
    trackNumber: trackNumber,
    trackCount: trackCount,
    year: year,
    artwork: invokeGetArtwork(path),
  );
}