版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 编 号: 审定成绩: 重庆邮电大学毕业设计(论文)设计(论文)题目:ophone手机音乐功能实现研究学 院 名 称 :计算机科学与技术学 生 姓 名 :傅银亮专 业 :计算机科学与技术班 级 :0490601学 号 :06100710指 导 教 师 :何 利答辩组 负责人 :填表时间:2010年06月重庆邮电大学教务处制摘 要随着手机在不断更新发展,用户对手机的要求也在不断的提高,越来越多的用户对手机的各方面的功能需求也在不断的提高。在这个大前提下,3g手机应运而生,中国移动也在市场的推动下开发了最新的ophone手机,凭借其强大的物理功能,让用户得到了满足。ophone手机的功能软件的开发
2、都是基于oms平台的开发,应用java作为后台运行程序,结合android的api对各个系统及应用程序的开发。ophone手机的音乐功能也是在此平台上开发的,用于实现wav音乐文件的播放、暂停、停止和简单播放列表的管理功能。【关键词】ophone oms平台 android 音乐播放abstractwith the development of mobile phones is continually updated, user requirements for mobile phones has also been improved, more and more cell phone use
3、rs in all aspects of the functional requirements are also constantly improved. in this context, 3g mobile phones came into being, the chinese mobile market is also driven by the development of the latest mobile phone ophone, this type of phone a powerful, but also to the current needs of users of mo
4、bile phones has been temporarily satisfied. and so powerful mobile phones, its internal content is quite complicated, but there are still many applications not well, especially the phone search function, so want to find the part of the content is complicated. ophone phone software development capabi
5、lities are based on oms platform development, should be shipped to run java program as a background, combined with androids api on each system and application development. ophone mobile search function is developed on this platform features a cell phone, mainly for research and development of the lo
6、cal search function. mobile search is used to display content in the size, name, location and so on. this feature can greatly reduce the time mobile phone users in the use of cumbersome steps, making the content easier to find, easy for users to get started.【key words】ophone oms platform android mus
7、icplay目 录前 言 1第一章 ophone手机系统的概述 .2第一节 ophone手机的发展历史及趋势 .2一 、发展历史 2二、 发展前景3第二节 ophone手机的结构简介 4一 、 ophone手机的基本特点 4二、 ophone的系统组成6第三节 本章小结 6第二章 ophone的音乐功能介绍 7第一节 ophone的功能特点.7一、 具备的功能8二、 缺少的功能9第二节 ophone的音乐功能.9 一、 音乐功能的概述.9 二、 音乐功能的特点10第三节 本章小结10第三章 ophone音乐功能的设计 .10第一节 ophone的开发环境搭建 11一、 jdk的安装及环境变量的
8、配置. 11二、 ophonesdk的安装和配置.13三、 eclipse的安装及在库中添加odt、wdt 15四、 apk文件安装到模拟器第二节 ophone音乐功能的设计.16一、ophone音乐功能的需求分.二、ophone音乐功能的详细设计第三节 本章小结.19第四章 ophone音乐功能的测试 20第一节 ophone音乐功能的测试.20第二节 音乐功能面临的问题及解决方案.21 第三节 本章小结.23结 论 24致 谢25参考文献 26附 录 27 一、英文原文27 二、英文翻译29 三、源程序31 前 言 ophone是中国移动oms系统下定制的、首款基于3g网络的手机。opho
9、ne是指采用了oms(开放移动系统)智能操作系统的手机。为了突破td终端瓶颈,以及促进手机终端与中国移动的网络及应用服务进行无缝对接,中国移动和播思通讯自去年开始在谷歌android操作系统基础上,主导开发了oms系统,该系统直接内置了中国移动的服务菜单、音乐随身听、手机导航、号簿管家、139邮箱、飞信、快讯和移动梦网等特色业务。ophone智能手机解决方案的推出,显然是中国移动在td终端上走出的关键一步。2009年9月16日,首款3gophone手机联想o1在京发布。联想o1的推出耗时一年多,是中国移动与联想移动深度定制合作的产品,采用了由中国移动主导研发的智能终端软件平台ophone平台。
10、它也是目前首款支持td-scdma的3g ophone,以移动互联网应用、开放性、全面娱乐和商务应用功能为主要特色。本文将通过oms系统来研究该手机的音乐功能的实现和细节、遇到的问题及解决方案。第一章 ophone手机系统的概述第一节 ophone手机的发展历史及趋势一、发展历史随着社会的发展,人们的物质文化日趋丰富,人们对精神文化的要求也越来越高。自然对手机的要求也越来越高,希望手机具备的功能应该越强大越好。在这个大背景下产生了3g手机。3g”(英语 3rd-generation)或“三代”是第三代移动通信技术的简称,是指支持高速数据传输的蜂窝移动通讯技术。3g服务能够同时传送声音(通话)及
11、数据信息(电子邮件、即时通信等)。2000年5月,国际电信联盟正式公布第三代移动通信标准,我国提交的td-scdma正式成为国际标准,与欧洲wcdma、美国cdma2000成为3g时代最主流的三大技术之一。 2008年5月24日,工业和信息化部、国家发改委、财政部联合发布关于深化电信体制改革的通告,鼓励中国电信收购中国联通(600050,股吧)cdma网(包括资产和用户),中国联通与中国网通合并,中国网通的基础电信业务并入中国电信,中国铁通并入中国移动,国内电信运营商由6家变为3家。 2008年6月2日,中国联通向中国网通提出以协议安排方式对两家公司实施合并,每股中国网通股份将换取1.508股
12、中国联通股份,每股中国网通美国存托股份换取3.016股中国联通美国存托股份。同时,中国电信将以总价1100亿元收购联通cdma网络。 2008年7月29日,中国电信集团宣布未来三年投资800亿元发展cdma业务,并提出在三年内把cdma用户数由目前约4300万增至1亿,届时在中国移动通信市场的占有率将达15%。 2008年10月15日,网通红筹公司在香港联交所和纽约证券交易所退市。 2008年8月,工信部发布关于同意中国移动通信集团公司开展试商用工作的批复,同意中国移动在全国建立td网络并开展试商用。ophone是中国移动oms系统下定制的、首款基于3g网络的手机。2009年9月16日,首款3
13、g ophone手机联想o1在京发布,这是中国移动与联想移动深度定制合作的产品,采用了由中国移动主导研发的智能终端软件平台ophone平台。2009年8月31日下午,“开放空间,共赢未来,中国移动ophone平台发布会”在北京隆重举行,中国移动正式推出由其主导研发的智能终端软件平台ophone平台,面向软件开发者的ophone sdk软件开发工具和软件开发者社区交流平台ophone sdn。二、发展前景中国移动研究院终端所所长于川向记者表示,中国移动还希望由工信部主导,中移动配合,“团结终端厂商,解决方案提供商和应用软件提供商”,成立一个拥有自主研发技术的oms开发联盟,提高运营能力和开发制造
14、水平。很显然,急于在td终端方面突破瓶颈的中移动对ophone寄予厚望,其成败将直接牵动后续的3g市场竞争战局。在中国移动涉足之前,智能手机操作系统的市场格局基本上是,诺基亚力挺symbian,微软寄希望于windows mobile,黑莓、苹果等手机厂商使用自行开发的封闭系统。此外,还有大量手机操作系统是基于linux的开源平台。事实上,中国移动主导的oms手机操作系统就是基于谷歌阵营的开放式平台android。android系统基于linux技术,由中移动、摩托罗拉、高通、宏达等30多家公司组成的开放手机联盟和谷歌共同开发。值得注意的是,与苹果手机的app store类似,ophone将成
15、为中国移动在3g时代发展无线互联网、打造梦网商店的关键通过内置数据业务,以及与中国移动无线业务平台的对接,ophone将承载大量3g业务应用。在此之前,苹果与中国移动引入iphone的谈判破裂,无线业务的掌控权争夺正是关键诱因,而通过主导操作系统,中国移动可以确保自己对ophone的话语权。有分析人士认为,在中国移动的后续3g战略中,ophone的位置将越发重要,并有可能投入更大资源和力量推动手机厂商乃至整个产业链发展ophone。希望通过解决方案的开发,打造世界一流,具有安全性、开放性、友好界面的终端技术平台,在一定程度上解除对国外掌握核心技术的依赖,减轻对业务发展的制约,同时增强终端产业的
16、国际竞争力。第二节 ophone手机的结构简介一、ophone手机的基本特点ophone最大特色便是能够真正将用户所熟悉的pc上的冲浪体验移植到手机上来。高速、无拘束的互联网接入。支持td-scdma,wapi以及wlan,以前你花几分钟都打不开的web站点,现在也许在10秒内就完全显示了。ophone提供融合wap和web的浏览器,支持最多可达9个页面的打开、预览,并能随意切换和关闭。主要具备以下特点:1、高度开放,广阔diy空间。应用了中国移动主导研发的开放式智能终端软件平台ophone平台,具备出色的开放性。它不仅支持基于平台开发的未来各类ophone应用、widget应用,还能兼容目前
17、市面上大部分的android应用。同时,中国移动的移动应用商场mobile market,将成为它源源不断的新应用的弹药库。不光如此,在该机上安装和删除程序都十分简单。用户还可以像定义电脑上的快捷方式一样,自己定义手机主屏上的图标,随意添加或者删除。壁纸、铃声、包括解锁的方式,都能随意diy,让个性凸现。2、新颖的解锁和主屏设计,绚丽的主屏切换视觉效果。ophone设计最in的桌面,提供了华丽的的主屏切换效果,包括卡片、立方体式的屏幕切换视觉效果,为用户带来全新的桌面体验。ophone还设计了独特新颖的解锁方式,拖动图片到指定位置即可解锁。除了手机应用外,ophone主屏中还可以放置常用操作的
18、快捷方式,包括以大头贴形式显示的联系人、浏览器书签和音乐播放列表等,电话、上网、听音乐,触手可及。3、ophone独创的智能学习系统。ophone 操作系统开发了独创的智能学习系统,越用越贴心的用户体验,让用户的学习无处不在。ophone智能学习系统从系统的通话、消息、邮件及通讯录收集和记录用户的使用习惯数据,并通过分析所保存的数据,为这些应用提供更好更方便的用户体验,如能够根据用户的联系频度自动统计出常用联系人等。4、便捷的拨号应用,强大的匹配能力。ophone支持智能拨号匹配,在拨号过程中根据用户的输入实时的以数字、t9拼音和拼音首字母等多种匹配方式搜索联系人,简化搜索步骤。ophone支
19、持短信拒接来电,用户可以在挂断电话时向来电方发送预置的短信。操作简单,有效的为用户缩短沟通时间。ophone支持ip拨号前缀,用户在拨号时能够一键添加预置的ip前缀号码,方便快捷。5、流畅的彩信展示方式,智能的消息发送策略。ophone提供了智能合并的彩信展示方式,使多页彩信(如手机报)的阅读更加流畅。ophone采取了智能的消息发送的策略,能够根据待发送消息的内容进行自动适配,选择短信或彩信进行发送。通过傻瓜式操作风格,提供舒适的用户体验。6、时尚的通讯录,紧密的与飞信融合。作为中国移动主导的ophone 操作系统,天然融合了中国移动的各项成果,特别是与飞信紧密的融合。ophone通讯通讯录
20、中能够显示联系人的飞信在线状态,并可使用飞信头像作为来电大头贴,紧密融合,提升体验。ophone通讯录支持丰富的联系人内容,支持多种类型的联系人数据和联系人大头贴,并支持组管理,多种信息,全面包含。支持联系人黑名单,可以将希望屏蔽的号码置于黑名单中,相关通话记录、来电和消息将被自动屏蔽,减少不必要的干扰。ophone支持联系人模糊匹配,用户可以略过联系人的姓氏,输入联系人的名字中任意字的首字母或全拼,即可搜索出相关联系人。7、完备的数据备份能力,全面的数据保护。ophone手机数据随时备份及时恢复,能够备份通讯录、短信、彩信、设置等重要信息,有效防止用户的数据丢失。ophone提供多重备份策略
21、,既可直接将数据备份到手机存储卡中,也可以将数据与pc端同步,获取数据随时随地,还原一键完成,轻松简单。8、实现对手机的立体式管理。ophone具有全面的管理能力,提供对文件、任务、应用的全方位立体式管理。ophone文件管理器不仅具备对文件和目录的查看、管理功能,还能够对文件进行压缩、解压缩操作。还能协助用户清晰的查看并有效的管理运行中的应用。并可以根据自己的需要方便地添加和删除应用程序二、ophone系统的组成ophone平台提供了完整的多媒体解决方案。为开发者提供了统一的,简单易用的开发接口。ophone系统的基本框架如图1.1.1:图1.1 .1 ophone系统的基本框架从图上我们可
22、以看出ophone平台大致可以分成以下几个层次:1、最上层是application层。它包含了主屏,电话,浏览器,地址本等核心的应用程序。即将开发的音乐播放器也属于这一层。 2、第二层是application framework层。这一层为开发者提供了完整的编程接口。多媒体部分提供了mediaplayer, mediarecorder等接口。同时mediaprovider,mediascanner等系统服务也对媒体文件的管理提供了支持。3、第三层是library层, 它由一系列的c/c+库组成,这些库的能力通过jni封装成java接口,由application framework层提供给开发者
23、。多媒体系统库opencore,它是ophone多媒体的核心,来源于packetvideo。它非常复杂,提供了完整的多媒体解决方案。 4、最底层为linux kernel和驱动,负责与硬件的数据交互等。 图1.1.2 调用关系图1.1.2说明了在ophone平台中播放音乐文件时的调用关系。第三节 本章小结本章主要介绍了ophone手机系统的发展历史背景情况,以及ophone手机的结构、特点以及内部的结构图等,可以初步的了解ophone手机系统的发展历程以及相关的结构知识等。为后面ophone音乐功能的实现提供了平台保证。第二章 ophone的功能介绍第一节 ophone的功能特点在谷歌andr
24、oid操作系统基础上,oms系统直接内置了中国移动的服务菜单、音乐随身听、手机导航、号簿管家、139邮箱、飞信、快讯和移动梦网等特色业务。该系统具备以下特点:1、先进性 ophone平台采用开源的linux作为系统内核,借鉴并兼容android平台,继承灵活高效的java应用框架,充分借鉴当下主流手机操作系统所具有的良好用户体验,提供了一套完整的电话解决方案和各类移动数据业务解决方案。2、整体性 ophone平台式面向移动互联网的包括从硬件参考设计到上层服务和应用的移动终端软件整体解决方案。ophone平台包含了一个完整的职能移动终端所需要包含的硬件以及完整的软件线,同时具备了方便开发进行应用
25、开发的终端模拟器和集成开发环境,是一个内容丰富而全面的终端软件平台。3、高安全性未来移动通信应用环境必将是一个复杂的应用环境,ophone在设计时充分考虑了移动终端的安全性,在多个层面引入安全策略以保证移动终端盒用具数据的安全性。ophone具备系统备份还原机制,对用户、应用和系统层面的数据进行本地和网络的备份还原操作,防止用户数据丢失。4、广阔的扩展空间ophone平台秉承了开放共享的思想,采用了开放源码界技术先进、架构灵活、扩展性强的源代码以及被众多世界知名公司支持的通用标准,并在此基础上对自身系统进行了扩展的和优化,是一款具有扩展能力的终端操作系统。一、具备的功能ophone手机作为一款
26、最新的3g手机,它所具备的绚丽的外表和强大的功能令人羡慕,而且还具有很多新的功能更加添加了手机的绚丽色彩。1、音乐随身听2、mobilemall应用下载平台3、号码管家4、飞信与快讯5、邮件服务6、位置服务7、手机电视除此之外,ophone操作系统最新的2.0版本添加了4个新功能。分别是类似android系统的桌面widget功能、高清视频通话和在线升级功能、内置手机阅读组件和时下最为流行的手机支付功能。桌面widget功能:用户可以在桌面上随意放置自己喜欢的widget小工具,比如说:模拟时钟、音乐播放器、快速搜索栏、快捷开关、联系人等等。3g网络下的高清视频通话和在线升级功能:ophone
27、 2.0中加入了对720p高清视频的解码功能,而且在通话的时候还能够将前置摄像头画面和后置摄像头画面来回切换,很方便。内置手机阅读组件:用户通过这款组件可以阅读本地电子书文件,在线阅读杂志、图书和漫画等电子书。甚至我们还能够通过手机阅读组件下载这些电子书,随身查看。中移动手机阅读服务和部分网站合作,在ophone 2.0的这个功能中还能够发表书评,和网友进行交流。手机支付功能:ophone 2.0的这个功能需要一个特殊的sim卡配合使用,这种卡和ophone系统中的服务绑定银行卡账户之后就能够通过手机进行支付操作了。二、不具备的功能ophone手机的功能越来越强大,满足了用户日常的基本需要。但
28、是,ophone手机仍然在功能上有不足的地方,功能上的缺很大程度是由于平台的限制。ophone手机的功能正向个人电脑功能发展,其功能也在日益完善。第二节 ophone的音乐功能一、 ophone音乐功能的概述用过android手机的朋友一定会为其内置的音乐播放器过于简陋而烦恼不已,而这一遗憾在ophone上却得到了全新的升华,华丽的播放器界面,以及网络与本地音乐的相结合,让音乐播放的方便性得到了诠释。我们知道手机音乐播放一直是娱乐性手机的主打点,像索尼爱立信的walkman系列和摩托罗拉的rokr系列, 而中国移动这次并没有因为ophone是智能手机就忽略了娱乐功能,这次与无线音乐集合的方式全
29、新展现在用户眼前,无论是新老用户,都会有感到全新的用户体验。ophone的播放器支持本地音乐与在线音乐功能,3g网络的诠释也算到位。ophone华丽的播放器界面效果,支持常用的专辑封面显示、循环播放等。二、 ophone音乐功能的特点ophone音乐功能的诞生标志着音乐随身听的实现。强大的音乐播放功能,完美的音乐控制功能,给用户带来非一般的听觉享受。第三节 本章小结本章主要介绍了ophone手机现有的功能及其特点和欠缺的功能,并着重介绍了ophone手机的音乐播放功能及其优点。让我们从整体上对ophone手机现状有了了解,以及把握ophone音乐功能实现研究的可行性。第三章 ophone音乐功
30、能的开发第一节 ophone开发环境的搭建一、jdk的安装及环境变量的配置1.jdk的安装搭建开发环境的第一步就是先要安装jdk,可以去sun官方下载jdk,下载的内容可以分为两种,一种是安装包,直接双击安装,然后选择你要安装的路径,依次点击确定完成安装;另一种是压缩包,直接解压到你自行建的文件夹即可。2.jdk环境变量的配置安装jdk完成后就需要配置环境变量,以保证java可以正常的运行。以下为jdk环境变量的配置步骤及图解:右击“我的电脑”,点击“属性”, 选择“高级”选项卡,点击“环境变量”,如图3.1.1 所示。 图3.1.1 高级选项对话框在“系统变量”中,依次设置3项属性,java
31、_home,path和classpath,若已存在则点击“编辑”,不存在则点击“新建”。如图3.1.2-3.1.4所示。图3.1.2 java_home的设置图3.1.3 path的设置图3.1.4 classpath的设置点击“开始”选择“运行”,键入“cmd”,如图3.1.5所示。图3.1.5 运行cmd命令键入命令“java -version”,可以查看到安装的jdk版本信息,如图3.1.6所示。 图3.1.6 java version命令测试键入“java”命令,可以看到此命令的帮助信息,如图3.1.7所示。 图3.1.7 java命令测试键入“javac”命令可以看到此命令的帮助信息
32、。 如果都如愿看到,表示jdk配置成功。二、ophone sdk的安装和配置1、ophone sdk的安装先要下载ophone sdk及相应的插件,可以直接从网上下载相关的压缩包ophone-sdk_windows-1.5.beta-setup.jar,一般下载之后直接双击即可安装,也有些直接双击不能安装成功的,就需要借助命令行输入java jar 【该包所在的绝对路径】,会弹出图3.2.1所示,既可以根据提示安装。图3.2.1 sdk的安装2. ophone sdk的配置安装完成之后同样需要配置sdk的环境变量。鼠标右键点击我的电脑, 选择弹出菜单中的属性,在弹出窗口的高级卡片页下,点击按钮
33、环境变量。在弹出的窗口中双击path,在变量值的输入窗口中添加内容:;c:program filesophonesdk_1.5.betatools/tools。配置完成所有还不能在ophone模拟器上正常运行应用程序,需要创建一个模拟器下的虚拟设备(avd)。所谓avd就是模拟器运行时使用的一组配置, 用来描述模拟的ophone平台。以下为步骤创建avd步骤:打开命令行窗口,选择一个开发使用的目标设备,并创建一个新的avd。命令行如下:android create avd -name oms -target 1。如图3.2.3所示。 图3.2.3 avd的创建命令行中的target id 是
34、1,因此被创建avd的目标设备是ophone支持设备列表里面的 android 1.5. 然后,命令行上会有是否创建用户设备配置的询问。如果回答“yes”,一系列关于设备各方面配置的问题将会列出,需要你的确认。每个问题都有一个默认值在括号中标出,如果输入为空(直接输入回车),这些默认答案将会被选择。如果第一个问题,关于是否创建用户设备配置的回答是“no”,则所有配置都将是使用默认值。 现在一个名称为oms的avd已经创建完成。你可以使用命令行“android list avd”来检查刚刚创建的avd是否存在,看到如图3.2.4的内容则表示成功了。图3.2.4 命令行运行android list
35、 avd三、eclipse的安装及在库中添加odt、wdteclipse可以去eclipse官网下载最新版的eclipse-sdk-3.4.2-win32.zip,解压到一个文件夹即可使用。接下来就需要在eclipse的库中添加ophone、odt和wdt。为了程序编译调试中能使用到ophone api, 需要添加一个用户库(user library)到eclipse中,库文件对应于ophone sdk所在目录下的oms.jar。 具体步骤如下: 运行eclipse,菜单上选择window preferences., 打开属性编辑窗从弹出的编辑窗中选择 java build path user
36、 libraries。在用户库(user libraries)窗口中点击new,打开new user libraries对话框。 输入ophone,并点击ok选中新添加的ophone,并点击add jars。选择ophone sdk目录下的文件oms.jar,点击ok。现在ophone用户库已经添加到eclipse ide的编译目录中,当一个新的ophone项目被创建,你可以添加该ophone用户库到你的项目的编译路径(java build path)下。在上一窗口中,双击ophone下的javadoc location,将会弹出窗口javadoc for oms.jar。 选择弹出窗口中的j
37、avadoc in archive,并选定你的eclipse ide目录下的plugins/ophone.sdk.doc_version.jar 文件,然后确定退出。odt是为在eclipse ide下进行ophone应用开发而提供的eclipse插件。本文开发需要使用odt,所以要在sdk目录中找到odt安装包:sdk_folder/tools/ophone/odt-0.9.0.zip,然后按照下面的步骤在eclipse中添加odt。运行eclipse,然后选择help software updates.在弹出的窗口中点击:available software点击add site.,然后点击
38、archive.选中之前准备好的odt安装文件,并确认返回。在返回的配置窗口,将会列出待添加的插件。点击复选框项目 ophone development tools,点击install.在后续的安装窗口, ophone development tools将会被选中,点击finish完成安装重启动eclipse。通过以上的步骤就完成了添加odt。而添加wdt页如同以上的步骤,只需按照上面的步骤添加就可以完成。四、安装apk文件到android模拟器 android手机使用的执行文件为apk格式,类似于windows平台的exe文件。在android模拟器中安装apk文件有多种方法,你可以通过ec
39、lipse+adt,使用ddms可以传输文件,大多数可以直接在windows的cmd中操作就可以了。安装apk文件的步骤如下:首先在android sdk的tools文件夹中找到emulator.exe文件并运行,这时android模拟器就启动了。如图3.4.1所示。图3.4.1 模拟器的启动将fu.apk文件复制到android sdk的tools目录中,使用cmd的cd命令定位到android 模拟器目录tools中,执行adb install fu.apk命令,这时模拟器将会自动执行安装。如图3.4.2所示。在android模拟器中可以找到我们安装好的文件。用鼠标单击这个文件就可以看到f
40、u.apk的演示程序。第二节 ophone音乐功能的设计一、 ophone音乐功能的需求分析 ophone手机音乐功能因为系统平台本身的局限性而受到了一定得限制,功能也因此没有常见电脑操作系统上的音乐软件功能强大。ophone音乐功能面向的是广大的用户,一个相对比较单一的群体。对于用户而言,此次设计只需实现对音乐文件的播放、暂停、停止和简单播放列表歌曲添加、删除的功能。因此,系统功能相对比较单一和简单。由于该音乐系统是一个菜单驱动的多媒体应用,就是要对每个菜单项设立相应的操作;选择播放菜单项,则开始播放音频文件,用户便可以听到声音了。选择暂停菜单项,则暂停当前音频文件的播放。选择停止菜单项,则
41、终止音频文件的播放。整个系统的功能结构图如图3.2.1所示:图3.2.1 ophone音乐功能结构图 此次设计音乐系统默认的只有一个播放列表,用户不能新建和删除播放列表,但是可以对默认的播放列表进行添加和删除曲目操作。选择添加目录音乐,则添加到默认播放列表中;选择删除播放列表中的文件,则播放列表中删除相应歌曲信息,同时默认歌曲指向下一首歌曲。播放器的状态有播放、暂停、停止三种。三种状态之间的相互切换和函数调用关系如图3.2.2所示:图3.2.2 播放器的状态图播放文件的状态图如图3.2.3所示:图3.2.3 播放文件的状态图由上图可以看出,当用户需要播放文件时,点击播放或者双击播放文件时,则产
42、生一个事件,调用play函数完成播放。播放某一音乐文件的时候,播放器可能出于不同的状态,对于不同的状态,音乐系统运行流程是不一样的。具体的参考图3.2.4:图3.2.4 播放歌曲的活动图二、 ophone音乐功能的详细设计ophone音乐功能开发的时候分为几个部分,分别为src、gen和res文件夹。而src内部主要是java的源程序代码,主要是实现音乐功能的函数模块。gen内部主要包含的是是一个r类,主要包含的是各个部分的在这里的申明,这个文件夹里面的内容无需编写,只要其他部分编写,其内部会自动生成相应的内容。显示在模拟器上面的画面内容的主要是在res文件夹中的,这个文件夹又分为3个部分,分
43、别为draw、layout和values部分,drawable中存储的是模拟器中出现的图片,其他两个文件夹是编写的xml程序的,主要是在模拟器上显示相应的内容。ophone系统提供了mediascanner,mediaprovider,mediastore等接口,并且提供了一套数据库表格,通过content provider的方式提供给用户。当手机开机或者有sd卡插拔等事件发生时,系统将会自动扫描sd卡和手机内存上的媒体文件,将相应的信息放到定义好的数据库表格中。在这个程序中,我们不需要关心如何去扫描手机中的文件,只要了解如何查询和使用这些信息就可以了。mediastore中定义了一系列的数据
44、表格,通过contentresolver提供的查询接口,我们可以得到各种需要的信息音乐文件的播放功能是由mediaplayer类实现的,mediaplayer提供了常用的接口,比如播放,暂停,停止等。播放音乐文件的基本调用流程如图3.2.3示:图3.2.3调用流程现在可以开始动手构建简单的播放器示例程序。1、创建工程在eclipse开发环境中创建一个新的android project.file new android project.设置工程名为musicplayerdemo, 设置packages名为 com.ophone2、指定程序的application,添加musicplayerdem
45、oapp usicplayerdemoapp类,它继承自 android.app.application。application类用来存储程序的状态,它存在于整个程序的生命周期之中。修改androidmanifest.xml如下,指定musicplayerdemoapp为示例程序的application.这里需要注意application的两个函数: oncreate() 和 onterminate(). 当程序开始运行时,oncreate()函数会首先被调用,此时没有任何其他的对象在运行,在这里我们可以进行一些初始化的工作。当程序结束时, onterminate()函数会被调用,程序进程将会
46、退出,可以在此做一些最终的清理工作。需要注意的是,当因为系统资源紧张等问题,程序被系统kill的时候,onterminate()不会被调用到,程序将直接退出。3、管理音乐信息的类musicdbcontroller为了使接口整洁,便于管理和使用,管理音乐信息的方法统一封装在musicdbcontroller类中。 musicdbcontroller采用单例模式,使程序中只有唯一的实例。我们传入musicplayerdemoapp 作为context生成content resolver,用来查询媒体库。现在,修改musicplayerdemoapp,添加一个musicdbcontroller的成员
47、,并在oncreate()中初始化它。这样程序中的任何activity和serivce都可以通过getapplicatio()函数得到musicplayerdemoapp,再通过getmusicdbcontroller()接口获取musicdbcontroller,进而获取所需要的媒体信息。4、展示媒体库musiclistactivity 和 musiclistadapter。首先添加musiclistadapter,它继承自simplecursoradapter。通过重载bindview()函数, 把媒体库信息绑定到指定的listview上。使用android.r.layout.cmcc_l
48、ist_5作为listview的layout,它的布局定义如下:android.r.layout.cmcc_list_5:android.r.id.listicon1 图片android.r.id.text1 左上文字android.r.id.text2 左下文字android.r.id.text3 右下文字public void bindview(view view, context context, cursor cursor) super.bindview(view, context, cursor); textview titleview = (textview) view.findv
49、iewbyid(android.r.id.text1); textview artistview = (textview) view.findviewbyid(android.r.id.text2); textview durationview = (textview) view.findviewbyid(android.r.id.text3); imageview imageview = (imageview) view.findviewbyid(android.r.id.listicon1); / set icon imageview.setimageresource(r.drawable
50、.cmcc_list_music); / set track name titleview.settext(cursor.getstring(cursor.getcolumnindexorthrow(mediastore.audio.media.title); / set artist name artistview.settext(cursor.getstring(cursor.getcolumnindexorthrow(mediastore.audio.media.artist); / set duration int duration = cursor.getint(cursor.get
51、columnindexorthrow(mediastore.audio.media.duration); durationview.settext(maketimestring(duration); 现在可以来添加我们的第一个activity musiclistactivity,它以list的形式展示了所有歌曲。musiclistactivity继承自listactivity。在oncreate()中获取musicdbcontroller的实例,为获取歌曲信息做准备。5、播放使用service现在需要考虑如何来播放这些媒体库中的文件了。为了达到后台播放的效果,需要使用service。当程序的所有activity都退出后,service仍然可以在后台运行。在这个示例中我们使用local service,它与应用程序运行在同一个进程中。首先,创建一个musicplaybackservice类,它继承自android.app.service,重载onbind方法,返回自定义的localbinder,通过localbinder的getservice()方法就可以获得musicplaybackservice的句柄了。privatefinali
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第七章 三角形 全章导学教案
- PEP四年级下教案
- 《劳动最光荣》教案及教学反思
- 广东省梅州市2023-2024学年高一年级下册7月期末考试语文试题(解析版)
- 科技馆木门油漆改造合同
- 医保政策宣传与教育规定
- 医疗器械买卖合同
- 机场建设延期合同
- 仓库防火门安装合同模板
- 展览会空地租赁合同样本
- 新时代智慧物流行业人才培养与团队建设方案
- 2024年公司市场化选聘经理层考核管理办法
- 太阳能光伏电站施工安全标准化建设考核试卷
- 防炫(AG工艺)玻璃项目可行性研究报告模板-备案拿地
- 2024年【汽车驾驶员(技师)】证模拟考试及答案
- 临床医学:肿瘤标志物
- 瑜伽脊柱扭转课程设计
- 风电项目风机吊装专项施工方案
- 2024版供应链代理采购合同协议书范本
- 室外燃气管道安装施工方案
- 小学生个人行为习惯自我管理、监督考核评分表
评论
0/150
提交评论