parseRaw method
解析主歌词,可选传入副歌词文本
Implementation
@override
LyricModel parseRaw(String mainLyric, {String? translationLyric}) {
final idTags = <String, String>{};
final translationMap = LrcParser.extractTranslationMap(translationLyric);
final lines = <LyricLine>[];
for (final line in mainLyric.split('\n')) {
final tagInfo = _extractTag(line);
if (tagInfo != null) {
idTags[tagInfo.tag] = tagInfo.value;
continue;
}
final jsonLine = _extractJsonLine(line, translationMap);
if (jsonLine != null) {
lines.add(jsonLine);
continue;
}
final timedLine = _extractTimedLine(line, translationMap);
if (timedLine != null) {
lines.add(timedLine);
}
}
return LyricModel(lines: lines, tags: idTags);
}