MediaFile.fromMetadata constructor
Create MediaFile from metadata
Implementation
factory MediaFile.fromMetadata(Map<String, dynamic> metadata) {
final typeString = metadata['type'] as String?;
MediaType mediaType;
switch (typeString) {
case 'video':
mediaType = MediaType.video;
break;
case 'image':
mediaType = MediaType.image;
break;
case 'audio':
mediaType = MediaType.audio;
break;
default:
throw Exception('Invalid media type: $typeString');
}
return MediaFile(
path: metadata['path'] as String,
name: metadata['name'] as String,
type: mediaType,
size: metadata['size'] as int? ?? 0,
duration: metadata['duration'] != null
? Duration(milliseconds: (metadata['duration'] as num).round())
: null,
width: metadata['width'] as int?,
height: metadata['height'] as int?,
mimeType: metadata['mimeType'] as String?,
creationDate: metadata['creationDate'] != null
? DateTime.parse(metadata['creationDate'] as String)
: null,
additionalMetadata: metadata['additionalMetadata'] as Map<String, dynamic>?,
);
}