Android实战 - 音心播放器 (MusicActivity ,MusicNotification,MusicService总结)

1.背景

    在MusicActivity ,MusicService 和MusicNotification 中,BroadcastReceiver 起着至关重要的作用。BroadcastReceiver 存在于 MusicActivity 和 MusicService 中 ,是两者沟通的桥梁,是整个App的核心功能。MusicSerice 有着控制音乐,后台播放的作用,MusicActivity 有着前台显示当前歌曲的信息和当前的歌词信息等,同时还显示当前的进度,剩余时间等。而MusicNotification ,在应用在后台运行的时候,可以显示当前歌曲信息。三者之间的通信,以MusicService为核心,衔接着三者之间的通信。


2.BoradCastReceiver功能实现回顾

   (1)图解

   


       (2)实现步骤:

                1)首先在实现BroadCastReceiver接口,实现OnReceiver() 方法

                2)其次创建 BoradCastReceiver 对象,并添加IntentFilier的Action  xxx

                3)在者注册 BroadCastReceiver, registerReceiver () 

                4)不使用的时候,解除注册 unRegisterReceiver() 

      (3)使用步骤

                1)创建Intent 对象

                2)添加BoradCastReceiver 中 IntentFiliter 的 Action xxx

                3)给intent对象 put参数

                4)sendBroadCast(intent)


3.MusicService 和 MusicNotification 回顾

   (1)图解

 

    (2)说明

             MusicNotification 的初始化 ,更新, 修改 均在MusicService 中实现,包括MusicActivity 更改歌曲信息,更新到通知栏,均在MusicService中调用实现。而MusicNotification 对 音乐的控制 通过 BroadcastReceiver实现,具体过程见 :  

Android实战 - 音心播放器 (通知实现音乐的播放/暂停/下一曲控制)


4.MusicActivity , MusicNotification ,MusicService 

   (1)图解



    (2)说明

               点击查看原

               1) 基本过程:当点击播放的时候,发送广播到MusicService ,MusicSrvice接受广播取得参数,对其进行控 制, 1)播放当前音乐 ;2)更新通知栏;3)发送广播给MusicActivity,更新MusicActivity界面状态;

                

               2)Notification 控制播放 (实际上和上面一样)

                基本过程:当点击播放的时候,发送广播到MusicService ,MusicSrvice接受广播取得参数,对其进行控 制, 1)播放当前音乐 ;2)更新通知栏;3)发送广播给MusicActivity,更新MusicActivity界面状态;



5.总结

    在学习使用过程中,其实BoradCastReceiver 是可以静态实现,即在 AndroidManfest.xml 中进行配置的,这个使用了动态注册的方式实现。在这里理解清楚 整个控制流程尤为重要,在自己做的过程中,没有去想,而直接去做了,实在不应该。以后要多用图来理解每个过程。


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值