最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

比較完整的android MP3 LRC歌詞滾動(dòng)高亮顯示(附源碼)

 更新時(shí)間:2013年11月02日 10:13:49   作者:  
比較完整的android MP3 LRC歌詞滾動(dòng)高亮顯示(附源碼)。需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助

1.以前的滾動(dòng)只是安行來(lái)刷新,現(xiàn)在不是按行來(lái)滾動(dòng)了,其實(shí)就是在一定時(shí)間內(nèi)整體往上移動(dòng),比如說(shuō)在1S內(nèi)刷新10次,由于認(rèn)得肉眼看起來(lái)像是滾動(dòng)。

關(guān)鍵代碼如下:

復(fù)制代碼 代碼如下:

        float plus = currentDunringTime == 0 ? 30
                : 30
                        + (((float) currentTime - (float) sentenctTime) / (float) currentDunringTime)
                        * (float) 30;
        // 向上滾動(dòng) 這個(gè)是根據(jù)歌詞的時(shí)間長(zhǎng)短來(lái)滾動(dòng),整體上移
        canvas.translate(0, -plus);

plus就是每次移動(dòng)的大小,它就是根據(jù)歌詞所持續(xù)的時(shí)間來(lái)計(jì)算的,時(shí)間越長(zhǎng),plus的值就越小。具體的看代碼了。

下面就是獲取歌詞的信息:

復(fù)制代碼 代碼如下:

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

以下就是跟新線程:
復(fù)制代碼 代碼如下:

 class UIUpdateThread implements Runnable {
  long time = 100; // 滾動(dòng)速度
  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鏈接:點(diǎn)擊下載

相關(guān)文章

最新評(píng)論

大英县| 隆化县| 丹寨县| 鲁山县| 元江| 德清县| 宁夏| 广水市| 庆城县| 天祝| 黑河市| 湖南省| 旬邑县| 高阳县| 大宁县| 香河县| 佛教| 威宁| 白银市| 鄂尔多斯市| 南城县| 南丹县| 黄冈市| 永康市| 鄯善县| 马关县| 招远市| 阜宁县| 民和| 成武县| 大同市| 监利县| 闸北区| 岑巩县| 雷波县| 昌平区| 崇阳县| 双江| 石狮市| 永胜县| 房产|