android 歌词显示

时间:2024-12-23 15:48:33 来源:语文学习网 作者:管理员

先从最基本的读取歌词文件开始:

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已付费版


热门排行: 好一点的原唱歌词