本人联系制作了一个MP3播放器,只差显示歌词,不需要2D动态滚动,只要显示就好。
我是想这么实现的。
首先将歌词文件解析出来放到MAP<Long,String>前面key是时间 ,后面value是歌词信息 ,然后将map放到List<MAP<Long,String>>中。
测试结果是成功的显示出来时 毫秒--->歌词信息
但是问题出来了!!!
因为我需要根据当前歌曲播放的进度去从这个map中取出歌词的信息,
我用player.getCurrentPosition()(返回的是int类型)得到当前的进度。
然后利用 map.get((long)player.getCurrentPosition())想取出对应时间点的歌词信息(是通过一个线程一直去取)
但是没想到这个player.getCurrentPosition()很恼火它获取的进度是跳跃的而且没有规律
例如我在207440这个时间点有歌词信息,但是player.getCurrentPosition()没有到207440这个进度的时候!!!
所以map.get((long)player.getCurrentPosition())总是取得为空。。。。。
太恼火了。。。
求高手解答!!
万分感谢!!
------解决方案--------------------
逻辑:
getCurrentPosition()取的是毫秒,那么你懂的,获得的值除以1000取整值,你的歌词里面的位置信息也要按整秒算,不要去算毫秒。