android 歌词显示
先从最基本的读取歌词文件开始:
Public class LrcHandle{
private List mWords= new ArrayList();
private List mTimeList= new ArrayList();
//处理歌词文件
public void readLRC(String path){
File file= new File(path);
try{
FileInputStream fileInputStream= new FileInputStream(file);
InputStreamReader inputStreamReader= new InputStreamReader(
fileInputStream,"utf-8");
BufferedReader bufferedReader= new BufferedReader(
inputStreamReader);
String s="";
while((s= bufferedReader.readLine())!= null){
addTimeToList(s);
if((s.indexOf("[ar:")!=-1)||(s.indexOf("[ti:")!=-1)
||(s.indexOf("[by:")!=-1)){
s= s.substring(s.indexOf(":")+ 1, s.indexOf("]"));
} else{
String ss= s.substring(s.indexOf("["), s.indexOf("]")+ 1);
s= s.replace(ss,"");
}
mWords.add(s);
}
bufferedReader.close();
inputStreamReader.close();
fileInputStream.close();
} catch(FileNotFoundException e){
e.printStackTrace();
mWords.add("没有歌词文件,赶紧去下载");
} catch(IOException e){
e.printStackTrace();
mWords.add("没有读取到歌词");
}
}
public List getWords(){
return mWords;
}
public List getTime(){
return mTimeList;
}
//分离出时间
private int timeHandler(String string){
string= string.replace(".",":");
String timeData[]= string.split(":");
//分离出分、秒并转换为整型
int minute= Integer.parseInt(timeData[0]);
int second= Integer.parseInt(timeData[1]);
int millisecond= Integer.parseInt(timeData[2]);
//计算上一行与下一行的时间转换为毫秒数
int currentTime=(minute* 60+ second)* 1000+ millisecond* 10;
return currentTime;
}
private void addTimeToList(String string){
Matcher matcher= Pattern.compile(
"[d{1,2}:d{1,2}([.:]d{1,2})?]").matcher(string);
if(matcher.find()){
String str= matcher.group();
mTimeList.add(new LrcHandle().timeHandler(str.substring(1,
str.length()- 1)));
}
}
}
一般歌词文件的格式大概如下:
[ar:艺人名]
[ti:曲名]
[al:专辑名]
[by:编者(指编辑LRC歌词的人)]
[offset:时间补偿值]其单位是毫秒,正值表示整体提前,负值相反。这是用于总体调整显示快慢的。
但也不一定,有时候并没有前面那些ar:等标识符,所以我们这里也提供了另一种解析方式。
歌词文件中的时间格式则比较统一:[00:00.50]等等,00:表示分钟,00.表示秒数,.50表示毫秒数,当然,我们最后是要将它们转化为毫秒数处理才比较方便。
支持歌词显示功能。
Apollo是媒体文件播放器,支持MP3、MP2、WAV等多种文件格式,有Internet流功能。它的功能足以满足一般使用者,支持专辑封面下载,界面相当的友好。
Apollo播放器的特色
引脚专辑,艺术家,流派,播放列表到您的主页屏幕上的快捷方式
自定义主题和布局
歌词支持
标记为喜爱的歌曲
通知播放控制(蜂窝状+)
文本和语音搜索
轻扫屏幕之间
自动专辑和艺术家的影像撷取
耳机控制
设置为来电铃声的歌曲
锁屏小工具(软糖4.2+)
在Twitter,Facebook和其他共享当前正在播放的音乐
4部件
无缝播放
播放大多数的音乐格式(MP3,AAC,FLAC等)
拖放播放列表和队列
锁屏控制(冰淇淋三明治+)
本地音乐管理(编辑,删除等)
功能即将推出:
平板电脑支持
艺术家和专辑信息
演唱会信息
睡眠定时器
Last.FM scrobbling
指定音乐文件夹/目录
定制的部件
可自定义的通知控制
支持谷歌
由于软件不是免费的,附破解版链接:
Apollo播放器 v1.0已付费版