android的歌词播放,android手机音乐播放器实现歌词同步

b97a503cd5ce0b6d829b1ca0e6d3350e.png

360听 手机音乐播放器1.2 S60官方安装版

类型:塞班平台应用大小:1.2M语言:中文 评分:4.0

标签:

立即下载

最近在做一款android手机上的音乐播放器,学习到了很多东西,像是Fragment,ActionBar的使用等等,这里就先介绍一下歌词同步的实现问题。

歌词同步的实现思路很简单:获取歌词文件LRC中的时间和歌词内容,然后在指定的时间内播放相应的内容。获取不难,难就在于如何在手机屏幕上实现歌词的滚动。

先上效果图:

8f97fc20e1125c300545e4eba45a3cbe.png

先从最基本的读取歌词文件开始:Public class LrcHandle {

private ListmWords = new ArrayList();

private ListmTimeList = 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();

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值