android歌词同步显示,显示某一时刻歌词的条件是什么?

yubo_725 2013-02-21 12:44:35
我的代码是这样的:
mediaPlayer.start();
//如果播放器还在播放,则显示歌词
while(mediaPlayer.isPlaying()){
//得到当前播放的进度
int now=mediaPlayer.getCurrentPosition();
//如果当前播放进度数正好在map中,则发送消息更新歌词
if(map.containsKey(now)){
handler.obtainMessage(MSG_REFRESH, map.get(now)).sendToTarget();
}
}
map是TreeMap<Integer, String>,key是时间(毫秒),value是那一时刻的歌词,我判断是否该显示歌词的条件是,如果当前的播放进度恰好在map的key中,则取出那时刻的歌词map.get(now),但运行结果是歌词没有变化,貌似我这样判断显示歌词的条件不对,请问该在什么条件下显示歌词?
...全文
329 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
海虫宝宝 2013-05-13
  • 打赏
  • 举报
回复
我也正在做播放器,楼主有歌词在线显示这块的源码能发一份我学习下吗 谢谢yilylong@163.com
intuition444 2013-02-21
  • 打赏
  • 举报
回复
每句歌词都有一个开始时间与结束时间, 判断当前的position落在哪句的开始时间和结束时间里就OK了。
yubo_725 2013-02-21
  • 打赏
  • 举报
回复
引用 1 楼 intuition444 的回复:
每句歌词都有一个开始时间与结束时间, 判断当前的position落在哪句的开始时间和结束时间里就OK了。
用你的方法,已解决问题,谢谢!

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧