手把手教你做音乐播放器(二)技术原理与框架设计

第2节 技术原理与框架设计

在开始正式开发功能以前,我们需要对要完成的功能做一个技术验证,确保有足够的能力和技术积累能完成它。

之后再根据调查的结果,设计程序的结构。这就好比造房子之前要规划好蓝图,不然房子很可能造着造着就暴露出很多没有想到的问题。

2.1 播放音乐

安卓系统作为一个应用开发的框架,为我们提供了丰富的工具,包括了音乐播放支持,很多格式的音乐都能播放。正因如此,我们才不需要从第一行代码开始去研究各种音频格式,不用去考虑二进制格式的音频文件该如何解包、如何解码等等。

只需要告诉系统,我有一个音频文件,要交给你播放,怎么播放的我不管,你全权负责,只需要把播放时的状态向我报告就好了。

安卓系统提供的组件就能实现音频文件的播放,我们只需要遵循以下的步骤,

  1. 创建一个对象,

  2. 为设置要播放的文件,可以是文件的物理地址,也可以是文件的Uri地址,

  3. 设置完成参数,准备播放,

  4. 播放、暂停、停止播放,

  5. 通过设置监听器,获取播放器返回的各种播放状态,

例如播放一个Uir地址为的音乐,

如果你此时对并不熟悉,没有关系,就把它当作文件的一个地址就好了,我们会在后面的章节做详细的介绍。

2.2 播放列表的存储

播放列表需要能长期的存储起来,即使程序退出了,下次启动的时候也能得到上次等待播放的音乐任务。

这里我们将正在播放的音乐列表存储到安卓系统提供的数据库中。

这个数据库可以被要获取它保存的数据的组件直接使用,也可以被封装在自定义的当中,让别人通过查询来间接使用。

手把手教你做音乐播放器(二)技术原理与框架设计

以后很多应用的开发可能都会与它打交道,都需要我们自定义一个合适的。所以我们就借此机会来学习如何自定义一个吧。

自定义一个,需要

  1. 继承重新创建一个类,并实现其中的一些方法;
  2. 在应用的文件中,声明这个新添加的组件;

在这里,我们将利用它来存储播放列表。

2.3 Service组件

启动主界面的,在该中创建,让它来播放音乐看起来是可以的,不过这种设计有个很严重的问题-音乐不能在后台播放,也就是说你不能一边听音乐,一边刷微博。

原因很简单,当前的程序结构将系统的与播放器的主界面关联在一起。当主界面的被用户按下了返回键时,它会被系统销毁。逻辑上讲,主界面所包含的也就应该寿终正寝了,怎么还能让它来继续播放音乐呢

手把手教你做音乐播放器(二)技术原理与框架设计

2.5 程序框架

基于上面的分析,我们将整个应用的框架做了大致的梳理,

  1. 主界面-:展示音乐列表,当前播放进度;它与建立联系,获取播放列表和播放控制接口;

  2. 播放列表记录存储模块-:记录当前的播放列表;提供给播放服务使用;

  3. 播放服务-:对外,为主界面提供控制音乐播放、操作播放列表的接口;对内从获取播放列表的操作,拥有对象,实际的控制播放器;

  4. 桌面小工具-:与联系,提供主界面上快速控制音乐播放流程的便捷方式;

手把手教你做音乐播放器(二)技术原理与框架设计

/*******************************************************************/
* 版权声明
* 本教程只在CSDN和安豆网发布,其他网站出现本教程均属侵权。

*另外,我们还推出了Arduino智能硬件相关的教程,您可以在我们的网店跟我学Arduino开发中购买相关硬件。同时也感谢大家对我们这些码农的支持。

*最后再次感谢各位读者对的支持,谢谢:)
/*******************************************************************/

来源:anddlecn

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2016年8月19日
下一篇 2016年8月19日

相关推荐