extractMetadataFromFile method
Implementation
@override
Future<Map<Frame, dynamic>> extractMetadataFromFile(File file) async {
RandomAccessFile randomAccessFile = await file.open(mode: FileMode.read);
await randomAccessFile.setPosition(0);
final List<int> headerData = await randomAccessFile.read(11);
if (headerData.startsWith([73, 68, 51])) {
final tagSizeData = headerData.sublist(6, 10);
final tagSize = _parseFrameSize(tagSizeData);
await randomAccessFile.setPosition(0);
final List<int> fileDataBytes = await randomAccessFile.read(tagSize + 3);
return _extractMetadata(headerData, fileDataBytes);
} else {
print('not a valid ID3v2 file');
return {};
}
}