首页 > 范文大全 > 正文

基于Android系统的影音播放器研究与实现

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于Android系统的影音播放器研究与实现范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要 为了满足人们随时随地观看音频视频文件,采用移动终端设备Android操作平台的系统功能,开发出了基于mvc模式的影音播放系统。系统模块由音频播放、文件浏览器、视频播放、歌词同步显示及播放列表管理等组成。对媒体库的管理采用文件浏览器的方式实现,方便用户的操作。系统可以对正在播放的歌曲同步显示歌词。并在android2.2版本的模拟器和三星7500真机上测试,达到了较好效果。

关键词 影音播放器;Android系统;系统模块

中图分类号:TN946 文献标识码:A 文章编号:1671-7597(2013)22-0020-02

随着科技的不断发展和人们生活水平的提高,手机不仅仅是作为一种通信工具,还可作为一个娱乐工具,而且人们对多媒体技术的需求也越来越高,对于多媒体技术中的音频播放不仅仅能听到声音,而且要听到高品质的声音,现在越来越多的年轻人都喜欢用手机听音乐、看电影。基于Android系统手机市场的份额越来越占据重要地位。歌词的同步显示Android系统内置的音乐播放器并不支持,而且歌曲的管理是通过媒体库进行的。对于大多数用户而言,早已习惯用文件浏览器形式播放文件带来的不便,因此开发基于Android系统的影音播放器具有现实意义。

1 Android平台简介

Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。该平台由用户界面、应用软件、操作系统和中间件组成。它采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分。底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。Android应用程序的组件主要包括:Activity、Service、Intent、Contentproviders(内容提供者)。

2 系统需求

系统功能模块主要包括以下功能:

1)视频播放注重于文件在播放过程中可能存在的状态,比如暂停,停止、快退、快进和进度拖拽,列表中的上个视频文件,下个视频文件,当前视频文件的某个指定的时间戳上面。

2)系统支持电话到来暂停播放,挂断电话继续播放功能。

3)播放音频支持循环播放、随机播放两种模式;支持选择上一首歌曲、选择下一首歌曲、继续播放、暂停播放、停止播放、快进、快退和进度拖拽;后台播放;支持歌词同步显示等功能。

4)界面友好,可操作性强。

3 系统功能模块

系统功能模块主要包括:音频播放、文件浏览器、主菜单、启动画面、歌词同步显示等模块。

3.1 音频播放模块包括四个模块

1)内容管理模块:主要是用来对视频文件信息的读取,存储,用来对文件信息查询,以及后面对视频文件的播放记录的读取,再次播放,收藏进行关联操作。方便视频文件信息的再次读取。在Android中,是通过列表内容库,保存了该歌曲ID。通过内容提供者可以访问并修改。添加功能是基于文件浏览器实现的。标记和添加音乐文件在文件浏览器中进行。

2)列表管理模块:主要功能包括收藏文件夹列表、视频文件列表。 播放文件列表的设计,主要是方便用户观察哪些文件是已经播放,那些比较好,需要收藏,方便再次观看,同时,方便用户直接点击播放列表中的文件来进行快速播放。由于本文采用的是系统数据库,所以共用音乐播放器列表。系统的播放列表数据库是通过内容提供者来访问的,并可以实时修改更新后的数据库。

3)播放模块:主要是显示歌曲的相关信息和正在播放歌曲的时间进度,并控制歌曲的播放。

4)歌词同步显示模块:第一次启动该程序时,需要创建歌词数据库,来保存歌词文件信息。程序首次启动时,先对手机内存卡进行扫描,并将扫描到的结果(歌词文件路径和名字)保存到歌词数据库中。对正在播放的歌曲,通过该歌曲名字在歌词数据库中自动检索歌词文件,并将歌词显示在屏幕上。

3.2 文件浏览器模块

主要是用于能够直接定位到sdcard中的文件,进行播放。如果路径是文件夹,通过搜索则显示该文件夹下的所有文件,并能够快速定位到想要播放的文件。如果搜索到的路径是文件,首先要判断文件是否为支持的播放格式,如果播放格式系统支持的话,则系统自动开始播放。

3.3 主菜单模块

主要包括视频播放、退出程序和音频播放。音频播放时,调用音频播放列表管理模块,用户可以随心所欲的选择想要播放的歌曲。在视频播放时,系统可以自动调用文件浏览器模块,让用户选择需要播放的视频文件。

3.4 启动画面模块

主要是显示软件启动画面。

4 系统模块之间的内在关系

系统模块关系如图1所示。

5 系统实现关键技术

系统实现时主要是通过创建多媒体播放控制类(MediaPlayer)对象,并调用相应的接口函数来实现文件的解码和播放。歌词文件信息保存是通过SQLLiteOpenHelper类创建新的数据库来实现的,并通过内容提供者对数据库进行访问,得到歌词信息,显示在屏幕上。根据各模块之间的关系,每一个模块对应一个Activities,不同的Activities通过intent相互传递参数。系统实现界面效果图如图2所示。

图1 系统模块关系图

6 系统测试

对影音播放器的各项功能在Android 2.2的模拟器上进行测试和调试。测试后,将打包生成的APK文件放到三星7500真机的SD卡上,并用测试用的视频文件、MP3音乐文件及对应的歌词文件(.1rc)测试,系统能够运行正常,支持电话到来暂停、电话挂断继快进、快退、暂停、继续等控制功能,并能在播放音频文件时可以正常显示匹配的歌词。

7 结论

本文通过对android手机功能和实用角度进行用户分析,在需求分析的基础上,进行系统设计,并给出合理的模块划分,实现了基于Android系统较为实用的影音播放器,并在Android2.2手机模拟器上和三星7500真机上测试通过。达到了预期的效果。

图2 界面效果图

参考文献

[1]张正政,林耀荣.基于Android系统的影音播放器开发[J].现代电子技术,2012(2).

[2]叶晓静,黄俊伟.基于Android系统的多媒体播放器解决方案[J].现代电子技术,2011(24).

[3]曾学权.一款家庭影院级的影音播放器[J].卫星电视与宽带多媒体,2007(21).

作者简介

郝俊寿,男,山西太原人,研究生学历。