天天看点

[android]Lyric LRC格式文件解析Lyric LRC格式文件解析

Lyric LRC格式文件解析

LRC格式没有多少复杂,因此希望找一个简单易用的程序。不过网上找到的代码不是捆绑了其它的逻辑,封装太差,就是容错太少,因此萌生了自己写一个的念头。

没有找到标准,只有一个 维基简介

项目在 https://github.com/authorfu/LrcParser

1. From a lyric file content to all readable lyric

String lyricString="[00:12.00]Line 1 lyrics\n"+
         "[00:17.20]Line 2 lyrics\n"+
         "[00:21.10]Line 3 lyrics";
BufferedReader reader =new BufferedReader(new StringReader(lyricString));
Lyric lyric;
try{
    lyric=LrcParser.create(reader);
    String[] contents=lyric.findAllContents();
    System.out.println(Arrays.toString(contents));
}catch(IOException e){
    e.printStackTrace();
}
           

result:

[Line 1 lyrics, Line 2 lyrics, Line 3 lyrics]

2.More info

ArrayList<Sentence> sentences=lyric.findAllSentences(-1,-1);
System.out.println(sentences);
           

result:

[{index:0|12000(Line 1 lyrics)17199}, {index:1|17200(Line 2 lyrics)21099}, {index:2|21100(Line 3 lyrics)-1}]
Sentence
private long fromTime=-1;// 开始时间
private long toTime=-1;// 结束时间
private String content="";// 歌词
private int index=-1;//第几句歌词
           

3.ID Tags

ID Tags info can be found by a

HashTable<String,String> tags= lyric.getTags();
           

4. more useful methods

see

com.github.authorfu.lrcparser.Lyric