float f = (t - now.getFromTime()) * 1.0f / (now.getToTime() - now.getFromTime()); if (f > 0.98f) { f = 0.98f; }
Shader shader = new LinearGradient(0, 0,
now.getContentWidth(mTxtPaint), 0, new int[] { Color.RED, Color.BLUE }, new float[] { f, f + 0.01f }, TileMode.CLAMP);
mTxtPaint.setShader(shader);
canvas.drawText(now.getContent(), 0, 20, mTxtPaint);
上面的代码很简单,关键一个函数是getNowSentenceIndex(t). 通过播放时间来获得歌词的索引. 我们看下getNowSentenceIndex()如何实现. /**
* 得到当前正在播放的那一句的下标 不可能找不到,因为最开头要加一句 自己的句子 ,所以加了以后就不可能找不到了 *
* @return 下标 */
private int getNowSentenceIndex(long t) { for (int i = 0; i < list.size(); i++) { if (list.get(i).isInTime(t)) { return i; } }
// throw new RuntimeException("竟然出现了找不到的情况!");
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库音乐播放器开发文档(7)在线全文阅读。
相关推荐: