先从最基本的读取歌词文件开始:
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表示毫秒数,当然,我们最后是要将它们转化为毫秒数处理才比较方便。
Ⅱ 带歌词的安卓手机音乐播放软件
带歌词的安卓手机音乐播放软件有酷狗音乐、QQ音乐、网易云音乐、天天动听、酷我音乐。
1、酷狗音乐
在酷狗音乐上,听、看、唱功能分工不同。“听”版块以海量曲库为基石;“看”板块以直播功能为主,与音乐短视频和自制音乐节目形成影音联动;“唱”板块,“做评委”和“打擂台”融入在线K歌功能。此外还提供“蝰蛇音效”、“倍速播放”、“识曲”、“跑步模式”等个性化工具。
2、QQ音乐
QQ音乐隶属于中国在线音乐服务领航者腾讯音乐娱乐集团,是国内领先的音乐流媒体平台。自2005年创立至今,QQ音乐注册用户总量已达8亿。
以优质内容为核心,以大数据与互联网技术为推动力,QQ音乐致力于打造“智慧声态”的“立体”泛音乐生态圈,为用户提供多元化的音乐生活体验。
3、网易云音乐
网易云音乐由网易开发的音乐产品,是网易杭州研究院的成果,依托专业音乐人、DJ、好友推荐及社交功能,在线音乐服务主打歌单、社交、大牌推荐和音乐指纹,以歌单、DJ节目、社交、地理位置为核心要素,主打发现和分享。该产品2013年4月23日正式发布。
4、天天动听
天天动听(TTPOD)是由上海水渡石信息技术有限公司开发音乐播放器,是一款功能强大、完全免费的音乐播放软件。支持歌词和歌曲图片下载,皮肤随心更换。
天天动听有炫丽震撼的可视化效果,同时预置丰富的均衡器效果,支持音效增强,简洁人性化的操作,有Android,iOS,Windows Phone,Symbian,PC客户端以及网页版。
5、酷我音乐
酷我音乐拥有曲库量近2000万首,与100余家唱片公司签署独家代理版权,还拥有中国好声音第一季、中国好声音第二季、蒙面歌王、燃烧吧少年、音乐大师课等综艺节目的独家版权。此外,太阳的后裔、青云志、好先生、亲爱的翻译官等热门影视剧的音乐原声也被酷我收入库中。
Ⅲ android开发音乐播放器怎么显示歌词
自己定义VIEW来配合歌显示吧;
网络 android开发音乐播放器显示歌词
有例子可以参考的
加油
Ⅳ 求:安卓手机可以在桌面显示歌词的音乐播放器
最新版本的天天动听2.3可以在桌面显示歌词的
打开天天动听,然后menu
——工具——系统设置——偏好设置——迷你歌词设置——勾选迷你歌词
就可以了!
Ⅳ 安卓手机自带音乐播放器怎样才能显示歌词
那就要看手机音乐播放器是否支持LRC歌词显示了!如果支持的话,到播放器设置里面去设置,如果不支持,那只能下载第三方软件来实现这个功能了!
Ⅵ 安卓音乐播放器哪个可以直接显示专辑图和歌词
这跟播放器没关系 如果你下载的歌词是带的 显示歌词的播放器都会显示 如果不自带还要求显示 只能播放器连网下载了
Ⅶ 求android系统支持lrc歌词的音乐播放器
推荐天天动听。界面华丽,音质好,支持歌词在播放歌曲时自动在线下载,可以摔歌,显示专辑封面,总之很好,个人认为比酷狗好多了,如果喜欢酷狗也行,功能和天天动听差不多,而且推出安卓专用版本。界面也不错。
Ⅷ 安卓开发,如何像android酷狗音乐播放器那样使歌词逐字匹配音乐
酷狗的歌词逐字匹配 是因为酷狗歌词的制作过程 你用酷狗制作过歌词吗? 如果版你想做成一样的权 我建议你去制作一份歌词才能明白。。。只用LRC写 即使加点或者空格什么的 也一定会影响美观 如果你根据酷狗的歌词制作步骤能写出相关算法 那程序里的算法就好写了。。。