Android实战 - 音心播发器 (MusicService ,Notification, MainActivity 总结)

本文详细阐述了音乐应用中MainActivity、MusicService和MusicNotification之间的关系与通信机制,强调了BroadcastReceiver在信息传递中的关键作用。通过分析各个组件的功能与交互流程,揭示了MusicService作为播放核心的运作原理,以及如何通过通知栏实时展示音乐状态,最终实现了流畅的音乐播放体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.背景

     前面已经总结了MainActivity,MusicService ,MusicNotification的实现,在这里将总结MainActivity 与 MusciService ,MusicService 与 MusicNotification , 以及三者的关系;


2.MainActivity 与 MusicService 

   (1)过程图

                      

     (2)说明

              1)当应用启动的时候,就初始化MusicService , 包括 初始化的音乐数据 ,通知,广播,MediaPlay ;

              2)在主页中音乐信息展示的数据是在Fragment中,所以需要回调函数回调出点击的位置,从而播放当前点击的音乐;

              3)在MainActivity播放当前点击的音乐,通过广播发送Intent,进行播放;


3.Notification与Serivice

    (1)关系图

                            



          (2)说明

                   1)Notification在Service中初始化;

                   2)Notification 在音乐状态发生改变的时候,发生改变(Service调用更新);

                   3)Notification 在Service 关闭的时候,移除通知;

                   4)Service 在音乐状态发生改变的时候,更新Notification;

                   5)Service 正在播放的Music信息,会更新到通知栏;

                   6)Service与Notification 通信通过 BoradCastReceiver实现;

                

          (3)BoradCastReceiver过程图

                    广播的使用,不仅仅是在Notification与MusicService ,还用在 MainActvity与MusicService ,当然后面还有使用的地方,尽情期待;

                            


4.总结

                                  


    MainActivity,MusicService , Notification 的关系,通信以 BroadCastReceiver为媒介,来传递信息;MusicService作为播放器的心脏,BoradCastReceiver 在MusicService中以内部类的形式实现,并没有单独的写成一个类,这样的话,方便了音乐的控制,不然要写很多回调函数。

                                       


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值