Jamendo源代码情景分析

以热门音乐为例,分析Jamendo播放音乐的流程。当Most Listened 被点击时会触发Top100Task被执行。在Top00Task的DoInBackground中通过JamendoGet2ApiImpl的接口getTop100Listened()获得热门榜的ID,进而通过这个ID获取对应的专辑信息和曲目信息。

点击一个专辑后的处理流程如下:通过PlayerActivity的launch(Activity c, Album album)函数启动一个下载任务PlayerAlbumLoadingDialog 获得专辑的曲目信息。然后调用PlayerActivity的launch(Context c, Playlist playlist)开始播放专辑的音乐。播放前先通过DownloadManager的接口检查对应的曲目是否已经下载到本地,否则播放远端服务器的曲目。播放的控制是通过PlayerEngine的实现类PlayerEnginer来实现的。

下载一首歌曲的流程:点击下载时会触发PlayerActivity的downloadOnClick()函数进而调用DownloadManager的download()函数,然后通过一个名字为DownloadService的服务执行真正的下载任务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值