我在作仿豆瓣音乐播放器这个小项目的时候,须要实现歌词同步匹配。json
它的主要内容有: api
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行的字体颜色和大小为红色和比非当前行大一点地字体大小,显示区别。编码