音乐app的分析(例:QQ音乐)
<一>QQ?乐最核心的功能就是歌曲的播放。
播放音频,首先想到可以用AVFoundation框架,来完成播放音乐的主要功能。但是AVFoundation只能播放本地的音乐,不能在线播放。虽然可以先从网络下载资源到本地再播放,但是必须要整首歌都下载完成后才能播放,这样效果并不好。
!
如果想在线播放,可以选择AudioToolbox框架中的音频队列服务Audio Queue Services。音频队列服务可以完成音频的录制和播放。
一个?频服务队列Audio Queue有三部分组成:
三个缓冲器Buffers:每个缓冲器都是一个存储音频数据的临时仓库。
一个缓冲队列Buffer Queue:一个包含音频缓冲器的有序队列。
一个回调Callback:一个自定义的队列回调函数。
音频播放的流程:
将音频读取到缓冲器中,一旦一个缓冲器填充满之后就放到缓冲队
列中,然后继续填充其他缓冲器;当开始播放时,则从第一个缓冲
器中读取音频进行播放;一旦播放完之后就会触发回调函数,开始
播放下一个缓冲器中的音频,同时填充第一个缓冲器放;填充满之
后再次放回到缓冲队列。
流媒体
好的?乐播放器要保证播放的流畅性,一定是边加载边播
放,如果做得再好一些,可以用流媒体来做。
详细内容。。。
<二>获取歌单,显?在界?
这部分主要通过AFN来从网络获取歌曲信息,然后展示在界面上。对于界面展示这部分比较熟悉,做起来难度不大。继续补充
<三>歌曲下载到本地存储
歌曲离线下载管理这部分,也很重要。歌曲名称、作者等
相关信息可以存储到数据库中,歌曲的源文件以及歌词文
件,下载之后存到沙盒中指定的文件夹中。
<四>其他其他的设置等功能和其他软件大同小异。
可以比照QQ播放器,挑自己熟悉的地方详细的解释说明一下,是如何实现的。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。