package org.kymjs.music.ui.widget; import java.io.BufferedReader; import java.io.IOException; import java.io.StringReader; import java.util.ArrayList; import java.util.Collections; import java.util.List; /** * 默认的LRC生成器,将原歌词LRC行转为字符串 */ public class DefaultLrcBuilder { public List<LrcRow> getLrcRows(String rawLrc) { if (rawLrc == null || rawLrc.length() == 0) { return null; } StringReader reader = new StringReader(rawLrc); BufferedReader br = new BufferedReader(reader); String line = null; List<LrcRow> rows = new ArrayList<LrcRow>(); try { do { line = br.readLine(); if (line != null && line.length() > 0) { List<LrcRow> lrcRows = LrcRow.createRows(line); if (lrcRows != null && lrcRows.size() > 0) { for (LrcRow row : lrcRows) { rows.add(row); } } } } while (line != null); if (rows.size() > 0) { // sort by time: Collections.sort(rows); } } catch (Exception e) { return null; } finally { try { br.close(); } catch (IOException e) { e.printStackTrace(); } reader.close(); } return rows; } }