歌词同步小控件

     我在做仿豆瓣音乐播放器这个小项目的时候,需要实现歌词同步匹配。

     它的主要内容有: 

      1.我用到的歌词匹配API是歌词迷的API,它提供了三种歌词检索方式,歌曲名,歌手和歌曲名,歌曲专辑编号。(链接:http://geci.me/api/lyric/:song/:artist)。它返回的是json数据,请求方式是get方式。

注意:在更改歌曲名称等参数的时候,需要将中文编码一下,否则会报错。

      2.通过afnetworking发送网络请求,解析json后拿到歌词请求地址,将lrc文件存到指定沙河目录下。由于lrc文件格式是时间加字符串,通过分割字符串的方法,将得到的data分割为一个time的数组和一个时间和歌词相对应的字典。这部分通过在model中操作完成。

      3.将得到的时间数组和字典传给tableview,将歌词数据加到tableview上。初始化一个每0.1秒调用的nstimer来检查歌曲当前播放时间,通过判断当前歌曲时间是否在对应时间数组行值和下一行的时间值之间,然后通过tableview的scrollrow方法调用NSIndexPath来使cell滑动至下一行,并且更新tablview,从而实现列表数据更新。如果显示的是当前行歌词,设置cell行的字体颜色和大小为红色和比非当前行大一点地字体大小,显示区别。

原文地址:https://www.cnblogs.com/moxuexiaotong/p/4950206.html