欢迎来到代码驿站!

Android代码

当前位置:首页 > 移动开发 > Android代码

比较完整的android MP3 LRC歌词滚动高亮显示(附源码)

时间:2021-10-19 08:56:47|栏目:Android代码|点击:

1.以前的滚动只是安行来刷新,现在不是按行来滚动了,其实就是在一定时间内整体往上移动,比如说在1S内刷新10次,由于认得肉眼看起来像是滚动。

关键代码如下:

复制代码 代码如下:

        float plus = currentDunringTime == 0 ? 30
                : 30
                        + (((float) currentTime - (float) sentenctTime) / (float) currentDunringTime)
                        * (float) 30;
        // 向上滚动 这个是根据歌词的时间长短来滚动,整体上移
        canvas.translate(0, -plus);

plus就是每次移动的大小,它就是根据歌词所持续的时间来计算的,时间越长,plus的值就越小。具体的看代码了。

下面就是获取歌词的信息:

复制代码 代码如下:

 public void updateIndex(long time) {
  this.currentTime = time;
  // 歌词序号
  index = mLyric.getNowSentenceIndex(time);
  if (index != -1) {
   Sentence sen = Sentencelist.get(index);
   sentenctTime = sen.getFromTime();
   currentDunringTime = sen.getDuring();
  }
 }

以下就是跟新线程:
复制代码 代码如下:

 class UIUpdateThread implements Runnable {
  long time = 100; // 滚动速度
  public void run() {
   while (mp.isPlaying()) {
    lyricView.updateIndex(mp.getCurrentPosition());
    mHandler.post(mUpdateResults);
    try {
     Thread.sleep(time);
    } catch (InterruptedException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
   }
  }
 }

project链接:点击下载

上一篇:Android使用插件实现代码混淆

栏    目:Android代码

下一篇:Android编程之消息机制实例分析

本文标题:比较完整的android MP3 LRC歌词滚动高亮显示(附源码)

本文地址:http://www.codeinn.net/misctech/180496.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有