豆瓣FM音乐播放器
豆瓣FM音乐播放器这个小项目主要实现了:
1.在线播放音乐; 2.更换音乐频道;
3.喜爱歌曲收藏; 4.在线歌词匹配。
:
用到的知识点:
1.在音乐播放类库的选择方面,可以使用第三方类库AFSoundManager(支持流媒体的播放,通过音乐列表来实现对歌曲的管理,很方便)或者也可以使用苹果自带的AVAudioPlayer(AVAudioPlayer只支持本地音乐播放,而且是单首播放)。通过将NSUrl转化为NSData,将目标网络data的mp3缓存指指定沙盒目录下,然后读取本地音乐就可以使用了。
2.左右侧边栏我是使用的MMDrawerController这个第三方类库来实现的,操作简单,实现左右滑动和按键控制滑动。你也可以使用JVFloatingDrawer(swift版KGFloatingDrawer)这个是oc的一个很好的侧边栏类库来实现,它的功能更加强大。而MMDrawerController相对小巧。
3.通过AFNetworking类库进行数据请求,将解析到的音乐频道数据放置右边栏,点击不同频道传输频道参数,来实现更换频道。用controller获得歌曲数据后,用model来管理数据,然后通过view将解析到的json数据更新到视图层上,在更新视图时,要放入主线程。
4.收藏喜爱音乐。我用的是sql数据库将请求的json数据存储进去,然后左侧边栏查看数据后跟新到列表。删除收藏歌曲,通过操作sql数据库进行删除。在选择播放收藏歌曲和频道时,左右侧边栏向主界面通过代理来实现传值和更新列表。
5.显示歌词通过一个tableview来实现,在获得歌曲后,得到歌曲名,通过歌曲名来实现在线搜索歌词。具体在在线匹配歌词那篇文章上有详细说明。
6.使用第三方类库KVNProgress来实现在请求数据完毕后,使界面等待。