Android Meida 笔记

涉及到音乐播放,学习googlesample中的ump,结合官网中的Guide

架构预览

实现一个音乐播放器,要是不使用任何设计,简单思路如下:

  1. 获取多媒体文件,扫描本地或远程获取
  2. 使用一个设想中、应有的、可以解码多媒体文件的播放器,对文件播放,暂停,快进…等等操作
  3. 播放器播放状态同步到UI
  4. UI可以包括:
    • 展示封面的控制按钮的主播放页面、
    • 在音乐列表中悬浮一个底部控制栏,(而这个底部控制栏应该可以在多个acitivity中同时存在,方便用户控制)
    • 通知栏控制器
    • 锁屏页面控制器

问题:真正播放的音乐的播放器和UI的生命周期是不同步,且存在很多个UI可以控制播放
,可以设想会使用Service来做播放器的容器…(大概只能想到这么多了.)

在这里插入图片描述

Android中多媒体播放,包括音频和视频,使用了统一的接口架构,虽有区分,整体上还是很统一的使用了C/S架构。
UI抽象了使用了一个 Media Controller ,在UI中创建和维护,多个UI维护多个控制器。
Media Contrller通过服务中的MediaSession,对播放器操作,并实时返回播放状态
MediaBrowerMediaBrowerService负责两者的连接,交互实现。

具体实现包括下面4个步骤:

1.创建了一个多媒体浏览的服务

这个服务存活于音乐播放过程中,也包括一个多媒体会话,管理客户端的连接。

2. 创建一个多媒体浏览的的客户端

客户端包括一个控制器,负责与服务的连接和交互

3.会话的回调实现

描述如何管理多媒体会话和服务,以及其他应用组件如通知和广播接收器。

4. Activity如何管理多媒体浏览服务

activity如何管理播放状态,还有可以提供多媒体库给其他应用,复用。

mdjz 我说了啥玩意…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值