当前位置:首页 > 算法工程 2019年11月07日
音乐播放器-同步歌词算法

音乐播放器-同步歌词算法


这几天尝试写一个播放器,写着最后发现歌词不知道怎么实现,没有任何头绪


首先歌词的更改有一下两种情况:

1、随着时间的推移

2、用户拖动进度条

3、歌曲切换


我们理一下上面的几种情况


第一种:我们可以监听时间,时间命中后就遍历符合的时间单位的歌词,没有符合的就不作出改变


第二种:用户拖动进度条,获取拖动后的播放时间,同样适用上面的方法,遍历存放时间的容器,


第三种:歌曲切换,那么将所有容器清空,重新读取歌词LRC文件,监听、遍历······



上面的情况如果用一个容器的话,歌词没有办法精确到秒


这里我用两个STL的Map进行索引,有序的情况下,二叉树更快


   Map<int ,  Map<int,string>  >


这里有两层Map,最外面那层索引分钟数,里面那层索引毫秒数,然后根据当前的播放时间比较区间,就可以得到最合适的歌词了






发表评论: