音乐播放器设计文档

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1生产实习报告题目:音乐播放器学生姓名:张凡学号:201220220123班级:1222201专业:数字媒体技术指导教师:张金2015年08月08日2目录一、引言.................................................................................................31.1项目背景......................................................................................31.2项目研究的目的...........................................................................41.3安卓简介.......................................................................................4二.功能分析...........................................................................................52.1功能需求分析..............................................................................52.2系统性能需求..............................................................................62.3运行环境需求..............................................................................6三.程序详细设计..................................................................................63.1主界面的设计..............................................................................63.2播放界面设计............................................................................113.3其他功能....................................................................................14四.调试与运行....................................................................................184.1调试............................................................................................184.2运行结果....................................................................................19五.总结.................................................................................................213一、引言1.1项目背景当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,symbian,Windowsmobile,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?答案是:肯定的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放RMVB格式的视频文件。此外,还能支持中文、英文等语言界面。41.2项目研究的目的1.熟悉一下eclipse工具和安卓的环境配置及开发的过程;2.熟练掌握java的组件如button,textview,listView,menu等组件的灵活应用;3.熟练掌握安卓的一个关于数据保存的方式SQLite3;4.锻炼一下自己遇到问题,然后解决问题的能力。1.3安卓简介1.3.1Android特征1.提供访问硬件的API函数,简化像摄像头、GPS等硬件的访问过程具有自己的运行时和虚拟机2.提供丰富的界面控件供使用者之间调用,加快用户界面的开发速度,保证Android平台上程序界面的一致性3.提供轻量级的进程间通讯机制Intent,使跨进程组件通信和发送系统级广播成为可能4.提供了Service作为无用户界面,长时间后台运行的组件5.支持高效、快速的数据存储方式1.3.2Android应用程序框架提供Android平台基本的管理功能和组件重用机制:ActivityManager,管理应用程序的生命周期WindowsManager,启动应用程序的窗体ContentProvider,共享私有数据,实现跨进程的数据访问5PackageManager,管理安装在Android系统内的应用程序TeleghonyManager,管理与拨打和接听电话的相关功能二.功能分析2.1功能需求分析根据项目的目标,我们可获得项目系统的基本需求,以下从不同角度来描述系统的需求,并且使用用例图来描述,系统的功能需求,我们分成四部分来概括,即播放器的基本控制需要,播放列表管理需求,播放器友好性需求和播放器扩展卡需求。下面图2-1是音乐播放器的基本用例图,描述了程序的基本功能62.2系统性能需求根据Android手机系统要求无响应时间为5秒,所以就有如下性能要求:(1)当要求歌曲播放时,程序响应时间最长不能超过5秒(2)当要求歌曲暂停时,程序响应时间最长不能超过5秒(3)当要求歌曲停止时,程序响应时间最长不能超过5秒(4)当要求歌曲上/下一首时,程序响应时间最长不能超过5秒(5)当要求进行清单列表时,程序响应时间最长不能超过5秒2.3运行环境需求操作系统:Android手机基于Linux操作系统支持环境:Android1.5-4.2.2版本开发环境:Eclipse3.5ADT21三.程序详细设计3.1主界面的设计主界面包含本地列表获取、我的收藏、在线音乐及正在播放等各个功能的切换。首先为我们出现的是音乐列表的获取。Android系统提供了MediaScanner,MediaProvider,MediaStore等接口,并且提供了一套数据库表格,通过ContentProvider的方式提供给用户。当手机开机或者有SD卡插拔等事件发生时,系统将会自动扫描SD卡和手机内存上的媒体文7件,如audio,video,图片等,将相应的信息放到定义好的数据库表格中。在这个程序中,我们不需要关心如何去扫描手机中的文件,只要了解如何查询和使用这些信息就可以了。MediaStore中定义了一系列的数据表格,通过ContentResolver提供的查询接口,我们可以得到各种需要的信息;其主要方法如下:创建ArrayList存储音乐列表;用Cursorquery(Uriuri,String[]projection,Stringselection,String[]selectionArgs,StringsortOrder);来获取手机上的音乐;用MediaStore.Audio.Media.XXX(XXX可以是ALBUM,SIZE,DURATION等信息)来获取音乐相关信息;生成音乐列表。关键代码:publicclassMusicList{publicstaticArrayListMusicgetMusicData(Contextcontext){ArrayListMusicmusicList=newArrayListMusic();ContentResolvercr=context.getContentResolver();if(cr!=null){8//获取所有歌曲Cursorcursor=cr.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,null,null,null,MediaStore.Audio.Media.DEFAULT_SORT_ORDER);if(null==cursor){returnnull;}if(cursor.moveToFirst()){do{Musicm=newMusic();Stringtitle=cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE));Stringsinger=cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST));if(unknown.equals(singer)){singer=未知艺术家;}Stringalbum=cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM));longsize=cursor.getLong(cursor.getColumnIndex(MediaStore.Audio.Media.SIZ9E));longtime=cursor.getLong(cursor.getColumnIndex(MediaStore.Audio.Media.DURATION));Stringurl=cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA));Stringname=cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));Stringsbr=name.substring(name.length()-3,name.length());if(sbr.equals(mp3)){m.setTitle(title);m.setSinger(singer);m.setAlbum(album);m.setSize(size);m.setTime(time);m.setUrl(url);m.setName(name);musicList.add(m);10}}while(cursor.moveToNext());}if(cursor!=null){cursor.close();}}returnmusicList;}}主界面的模拟器效果图113.2播放界面设计播放界面是播放器的核心所在,它需要实现播放器的其本功能(播放、暂停、上一曲、下一曲、声音控制

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功