基于J2ME平台环境下的手机音乐播放器.docx
- 文档编号:9120444
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:16
- 大小:197.80KB
基于J2ME平台环境下的手机音乐播放器.docx
《基于J2ME平台环境下的手机音乐播放器.docx》由会员分享,可在线阅读,更多相关《基于J2ME平台环境下的手机音乐播放器.docx(16页珍藏版)》请在冰豆网上搜索。
基于J2ME平台环境下的手机音乐播放器
基于J2ME平台环境下的手机音乐播放器
摘要
随着无线移动通信的高速发展及各种移动业务种类的快速增长,一切互联网上的业务都在移动通信系统中得到应用。
然而,由于用户需求的原因,或者终端支持与否的因素,并非所有手机都能正确显示同一信息内容。
而且随着客户端设备的类型越来越多,人们对个性化服务的要求越来越高,个性化信息服务成为将来网络信息服务发展的一个重要的方向。
移动终端是一种采用先进通信协议栈的复杂系统,它需要具有与许多网络设备互操作、支持先进而丰富的多媒体的应用程序。
而且,所有这些都必需在一个资源有限的嵌入式系统的约束条件下实现。
JAVA技术提供了跨平台的能力,并支持多种器件设备。
J2ME和MIDP(移动信息器件概览)可在任何被支持的系统上运行同样的应用程序。
JAVA技术为无线设备创建了一个全新的开发平台,这一平台可以跨越多种设备和多个系统平台。
JAVA的跨平台特性,使得基于J2ME的应用程序具有移植性好等其他优势,可以让移动通信设备发挥出最大的潜能。
JAVA手机作为移动终端为今后移动通信发展提供了很好的解决方案。
本文首先分析了J2ME在当前移动终端发展中所具有的重要角色,选择J2ME作为移动终端软件开发平台的优势。
实际开发了一个基于J2ME平台的音乐播放器软件,进行了相关理论和技术的分析。
关键词:
MIDP
J2ME
音乐播放器
Abstract
Withtherapiddevelopmentofwirelessmobilecommunicationandmobilebusinesstypesofrapidgrowth,allbusinessontheInternetinmobilecommunicationsystem.However,becausetheuserdemandreasons,orterminalsupportorfactors,notallmobilephonecancorrectlydisplaythesameinformationcontent.Andastheclientdevicetypeismoreandmore,peopleofpersonalizedserviceoftheincreasinglyhighdemand,personalizedinformationservicebecomethefuturenetworkinformationserviceisanimportantdevelopingdirection.Themobileterminalisakindofadvancedcommunicationprotocolstackforcomplexsystems,itneedswiththemanynetworkinteroperabilitybetweendevices,supportforadvancedandrichmultimediaapplication.Moreover,allofthesemustbeinaresource-limitedembeddedsystemundertheconditionofrealization.JAVAtechnologyprovidesacross-platformcapabilities,andsupportformultipledevices.J2MEandMIDP(mobileinformationdeviceprofile)canbeinanysupportedsystemrunningthesameapplication.JAVAtechnologyforthewirelessdevicetocreateanewdevelopmentplatform,thisplatformcanspanmultipledevicesandmultiplesystemplatform.TheJAVAcrossplatformcharacteristic,theapplicationprogrambasedonJ2MEhasgoodportabilityandotheradvantages,canmakethemobilecommunicationdevicetoplaythegreatpotential.JAVAmobilephoneasthemobileterminalforfuturemobilecommunicationdevelopmentprovidesagoodsolution.ThispaperfirstlyanalyzesthecurrentJ2MEinmobileterminaldevelopmentintheimportantrole,selectJ2MEasamobileterminalsoftwaredevelopmentplatformedge.TheactualdevelopmentofaplatformbasedontheJ2MEmusicplayersoftware,therelevanttheoryandtechnologyanalysis.
Keyword.:
MIDP
J2ME
MusicPlayer
第一章引言
1.1课题背景
1.1.1移动终端的发展现状
当今在全球信息与通信领域中,无线移动通信的发展之快最引人注目。
在中国,仅蜂窝移动通信用户早已跨过3亿大关,而在全球15亿的移动用户已成事实。
中国在全球范围内不仅用户数增长最快,而且移动用户与固定电话用户之比的增长率也是全球第一。
按照无线移动终端的发展历程大致将其分为三类:
第一类是以语音通信为主的手机,也就是我们传统意义上的手机,目前主要面向低端市场,这类手机的硬件都是围绕一个单一的基带处理器搭建的,该处理器执行电信和其它简单的应用任务。
第二类是增值业务手机,也叫多功能手机,这是目前需求量最大的手机。
这些手机一般面向特定应用,一个功能强大的基带处理器芯片实现移动终端的主要功能,如果基带处理器不能满足诸如视频处理等功能,可以配套使用一个应用协处理器,它面向特定应用。
第三类是智能手机,即高端手机,曾被定义为“拥有操作系统并支持第三方应用的手机”。
这类手机中应用处理器成为系统的核心,而GSM/GPPS等通信MODEM则成为实现连接功能的外设之一,此外还有其它通信外设,如WLAN、蓝牙、USB等,并且可能提供统一的扩展接口。
智能手机通常要采用复杂的嵌入式操作系统为上层应用提供统一的应用接口。
并且,智能手机多备有较大显示屏,具有计算和文字处理方面的功能。
从移动业务的角度看,目前现有的业务种类已经是琳琅满目,一切互联网上的业务都在移动通信系统中得到应用,当然,由于现有网络质量和带宽的限制,它还远不能给用户以有线网络的体验,而且有些业务在目前条件下也只是概念上的炒作。
然而,并非所有的业务都能顺利推出,其中有用户需求的原因,也有终端支持与否的因素,并非所有终端都能对统一网站的内容正确显示,并非所有手机都能正确显示同一信息内容.而且随着客户端设备的类型越来越多,人们对个性化服务的要求越来越高,个性化信息服务成为将来网络信息服务发展的一个重要的方向。
1.1.2个性化服务
个性化服务是网络又称为个性化定制服务,是根据客户的特性提供具有针对性的信息内容和系统功能;就是将用户感兴趣的内容提供给客户,在某一特定的网上功能和服务方式中,由用户自己设定网上信息的来源方式、表现形式、特定网上功能及其他网上服务方式等。
个性化服务,就是针对不同的用户,采用不同的服务策略和方式,提供不同的信息内容的服务。
在信息发布尤其是大范围的信息发布时,所有的客户端收到的信息都是相同的,而如果客户端移动设备的硬件或软件类型不适合显示服务器发布的信息,比如屏幕不够大、不支持某种解码方式等,那客户端在信息的接收上就会受到影响。
至于允许客户端自己选择显示方式,那更是不可能的事情。
而且随着客户端设备的类型越来越多,人们对个性化服务的要求越来越高,这个问题更加突出。
于是人们开始探索客户端与服务器端是否能进行“内容协商”,即客户端通过某种方式告诉服务器端,客户端的信息表达环境是怎样的,以及客户需要什么样的信息。
而我们要做的手机音乐播放器也是需要个性化的,我们会在已有的播放器基础上再添加以下个性化的元素进去,让用户用的舒心,省心。
1.13J2ME在移动终端领域的优势与发展
JAVA语言是由美国SUN公司在1995年设计的,原是为机顶盒这种嵌入式系统设计的,但并没有在嵌入式领域得到发展,随着internet的普及JAVA占领了PC端和Server端,现在JAVA又回到了嵌入式领域。
为了和PC端、Server端的JAVA相区别,用于嵌入式系统的JAVA被称为JAVA2MicroEdition简称J2ME。
针对有限记忆体,显示和处理能力的设备,主要是消费电子和嵌入式设备领域。
JAVA是惟一可以在各种操作设备上创建应用的技术。
它极大地提高了w曲的交互性,使Web从单纯的静态文本形式变成了丰富多彩的可执行程序形式。
JAVA的一个重要特点是平台无关性。
JAVA程序均被编译成一种虚拟器代码,在被称为JAVA虚拟机的解释器上执行,因此只要一个操作系统带有JAVA解释器,或者Web浏览器带有JAVA解释器,JAVA程序就可以执行。
JAVA语言的平台无关性成功地解决了Internet上的异质问题。
移动资讯设备的主要操作系统平台都是开放的,J2ME的标准也是开放的,因此基本上所有的主要操作系统平台都支持或将支持J2ME,这带来的广阔市场和真正的“一次编写,到处执行”是任何其他技术无法比拟的。
对于开发者而言,可以不受作业系统的限制,不用担心在这个多边的市场上因平台的变化而影响自己的应用。
J2ME和MIDP可在任何被支持的系统上运行同样的应用程序。
这样,服务提供商也可采用来自多个制造商的不同的设备,而无需对每个设备单独进行支持。
JAVA语言的跨平台特性使第三方软件开发商可以很容易地介入进来开发应用程序,也可以方便地将应用程序安装部署到移动通信设备上,大大缩短了开发周期。
J2ME提供的HTTP协议,使移动电话能以Clientsever的方式直接访问网络的全部信息,不同的Client访问不同的文件,此外还能访问本地存储区,实现交互式服务,超出了现在的基于文本的静态内容服务。
本课题就是基于J2ME开发的在移动终端运行的音乐播放器。
1.2论文成果
本论文分析了J2ME在当前移动终端发展中所具有的重要角色,选择J2ME作为移动终端软件开发平台的优势。
以实际开发的一个基于J2ME平台的手机应用功能为基础,进行了相关理论和技术的分析。
1.3论文组织结构
本论文共分为六章,各章节的主要内容安排如下
第一章绪论简单陈述了移动终端在当今社会中的发展,以及选择J2ME作为移动终端开发的优势,并简要分析了能力协商的需求。
第二章详细介绍了J2ME平台的体系结构,结合项目内容阐述了J2ME技术在移动终端中的应用。
第三章对手机音乐播放器进行了系统的分析。
第四章系统的介绍了采用J2ME做出来的结果。
第五章针对本文做了简要的总结与对下一步的研究工作的展望。
最后是本文的参考文献列表和致谢。
第二章J2ME体系结构及技术简介
2.1J2ME的概况
J2ME的全称是Java2MicroEdition(J2ME)——Java2技术微型版,与J2SE,J2EE一样都是有美国SUN微系统公司提出的JAVA技术规范.
2.2J2ME简介
J2ME是为了能够开发运行在小型设备,独立设备,互联移动设备,嵌入式设备上的JAVA应用程序而被提出的.J2ME是建立在一个由概要描述,配置,JAVA虚拟机和操作系统等部分组成的标准架构之上的,这些内容共同组成了完整的J2ME实时运行环境.它的技术核心是由一个JAVA虚拟机(JVM)及一套适合运行在上述设备环境上的API接口构成.J2ME在1999年的JavaOne开发人员大会上初次亮相,它的目标是面向智能无线设备和小型计算设备的开发人员,这些开发人员需要在他们的产品中整合跨平台的能力.无线设备和小型计算设备的消费者期望这些设备能够有较高的性能.他们希望小型计算设备有快速的响应时间,与同种设备相兼容,拥有功能完备的应用程序.消费者希望桌面计算机和笔记本电脑上的软件和功能同样能够运行在移动电话和个人数字助理上.为了满足他们的需求,开发人员必须重新考虑他们设计计算机系统的方式.开发人员需要利用商业计算机上现有的前端和后端软件的计算能力,并将这些能力传递到微型,移动和无线的计算设备上.J2ME能够以最小的修改来实现这种传递,如果应用程序的设计是可伸缩的,应用程序就可以适应小型计算设备上有限的资源.J2ME为在小型电子设备上创建性能卓越的网络应用提供了一套完整的解决方案,能很好的解决软件跨平台的兼容性和安全性的问题.
2.2.1J2ME架构
J2ME架构的模块化设计使应用程序可以灵活适应小型计算设备的限制.J2ME架构没有替代小型计算设备的操作系统.相反,J2ME架构由位于原生操作系统之上的多层软件组成,这些软件共同称为"连接有限设备配置"(ConnectedLimitedDeviceConfiguration,CLDC).安装在操作系统之上的CLDC形成了小型计算设备的运行时环境.J2ME架构由3个软件层组成:
第一层是包括在内的配置层,这个层次直接与原生操作系统进行交互.配置层还处理profile和JVM之间的交互.第二层是profile层,由小型计算设备的应用程序编程接口(API)的最小集合组成.第三层是MobileInformationDeviceProfile(MIDP)层.MIDP层由用户网络连接,永久存储和用户界面的javaAPI组成.它还能够访问CLDC库和MIDP库.
2.2.2JVM(虚拟机)
JVM是专门为微型电子设备与资源受限设备如:
手机,寻呼机,移动互联网设备,家用微电子设备等设计的一种轻便,紧凑的JAVA虚拟机.JVM可以为微型电子设备提供一个完整的JAVA运行环境,除了一些微型设备所必需的适当的功能有所不同外,它是由JAVA虚拟机规范定义的真实的JAVA虚拟机.它是专门为那些受资源限制,只有几百K字节内存的微型设备设计的.JVM起初是由SUN微系统实验室为一个名叫"Spotless"的项目创建的.它的目标是为资源受限制的Palm(是目前较为流行的掌上电脑操作系统)可连接的电子设备,实现一个java虚拟机.基于上述原因,JVM具有以下几个特点:
(1)小,仅具有40KB至80KB的静态内存.
(2)轻便,精巧.(3)模块化并可定制.(4)尽可能完全紧凑的完成设计目的.
2.2.3MIDP(移动信息设备简表)
(MIDP是专门为互联受限设备配置设计的,它为移动设备提供了一套API集合,MIDP包含用户界面类,持久存储功能与网络功能.它同时也包括一个供用户下载新应用到终端设备的标准运行环境.运行在MIDP下的小应用程序叫做MIDlet移动设备小应用程序,它与Applet类似.MIDP要求平台设备提供一个机制用来存储简单的数据记录,通过正常的平台事件,比如重新启动和电池更新维护系统的完整性.MIDP是以SUN,Motorola,Nokia为中心的MIDPEG组织(MobileInformationProfileExpertGroup)所制订出来使用在CLDC上的Profile,是以能使用在移动电话,双向对讲机,可无线通信的PDA(个人数字助理)上面为前提设计出来的.另外,像日本国内的NTTDoCoMo,J-PHONE,KDDI等电信商与移动电话制造商也都曾参与了MIDPEG.MIDP是在CLDC的功能上附加提供适合目标设备用的GUI与事件处理功能.这样一来,就可以当成MIDP应用程序(MIDlet)来运行了.MIDP由于是由多个企业所共同策划出来的开放标准,因此主要的移动电话制造商也会制造出大量的对应机种.也就是说,以MIDP为基准所制作出来的应用程序,也将可以在流通于市面上的移动电话上执行.另外,MIDP不仅限于移动电话,也已经被移植到PDAPalmOS上,而以MIDPforPalmOS的名字来称呼(与KJava是不同的).在不使用各电信商的扩展API的时候,制作给移动电话用的MIDlet也将可以使用在PalmOS上面.由于未来MIDP也将会搭载到不同设备之上,也由于其兼容性高,只要写过一次程序,就可以在其他移动电话或是移动电话以外的设备上执行;而这也就是它最大的好处.。
第三章系统需求分析和总体设计
3.1系统功能需求
本部分介绍我们制作的这个软件希望去实现以及可以实现的一些功能,还有就是从总体上介绍我们怎么分析设计这个软件。
3.1.1播放器界面
本播放器界面我们是采用了QQ音乐的模式,如下图:
其中颜色有几种不同变化,可通过按键来改变,这个会在总体设计介绍。
3.1.2播放的功能
首先,音乐播放器实现的功能就是对音乐的播放,在这部分我们是把音乐内嵌在程序中,通过publicvoidplayAudio(intsnd)实现了音乐的播放,即以下程序:
publicvoidplayAudio(intsnd){
//Noplayer,createone
if(sounds[snd]==null){
createSound(snd);
}
//Startplayer
Playerplayer=sounds[snd];
player.setLoopCount(10);//这个地方是循环次数
if(player!
=null){
try{
player.start();
}catch(MediaExceptione){
e.printStackTrace();
}
}
}//创建播放器开始播放歌曲
而通过以下程序来实现开始播放和停止播放的功能,这是用到了监听键盘键的方法,通过对start和stop键进行监听,来达到控制开始和停止播放的功能。
publicvoidstartSound(intsnd){
try{
sounds[snd].start();
}catch(MediaExceptione){
e.printStackTrace();
}
}//播放音乐
publicvoidstopSound(intsnd){
if(sounds[snd]!
=null){
try{
sounds[snd].stop();
}catch(MediaExceptione){
e.printStackTrace();
}
}
}//停止音乐
其截图的图标如下:
3.1.3音乐播放音量的控制
(1)对音乐音量的控制,首先是静音与不静音,这个也会用到自己写的函数publicvoidletQuiet()和publicvoidletNotQuiet()这两个函数来控制,具体代码这里不做介绍,其图标在手机屏幕上会有显示,图标分别如下:
off
on
(2)对音量的控制,体现在音量大小,这个我们会用到setVoiceLevel方面的内容,通过VolumeControl变量来实现对音量大小的控制,而具体的sounds值我们会通过以下代码获得并调用进而显示在屏幕上:
publicintgetVoiceLevel(){
returnvolC.getLevel();
}//音量大小的获得
以下这个图标即音量大小在屏幕上的显示:
3.1.4歌曲播放时间的显示
(1)totalTime函数,利用该函数得到歌曲的总时间,然后显示在屏幕上,即
这个总时间会始终一样的显示在屏幕上。
(2)歌曲当前播放时间,利用gettime函数来得到当前歌曲的播放时间,然后显示在屏幕上,即
这个时间会随着播放时间不断变化的显示在手机屏幕上。
3.1.5歌曲的快进与快退
这个功能其实与上面播放时间的显示是一样的,因为只要播放的时间改变即能实现歌曲的快进与快退,setTimeMusic函数来得到该时间,而长按前进键或者后退键即能达成这一目标
3.1.6进度条的显示
在总体设计中会解释,截图如下:
3.2总体设计
3.2.1播放器界面设计
播放器界面是采用了比较大众的一种方式,长宽比例按照程序手机模板大小来制作,而界面上面具有的一些图标都是由以下程序来完成:
publicmusicCanvas(){
super(false);
width=this.getWidth();
height=this.getHeight();
this.setCommandListener(this);
try{
back=Image.createImage("/qq_music.png");
back1=Image.createImage("/qq_music2.png");
back2=Image.createImage("/qq_music1.png");
meun1=Image.createImage("/meun.png");
circle=Image.createImage("/circle.png");
audio_on=Image.createImage("/audio_on.png");
audio_off=Image.createImage("/audio_off.png");
for(inti=0;i<8;i++){
img[i]=Image.createImage("/pic/"+i+".png");
}
}catch(IOExceptione){
e.printStackTrace();
}
其中back1设置为灰色即以下界面
其中back2设置为红色,即:
Back3设置为蓝色,即:
通过按键3来改变界面颜色,是通过以下程序实现:
if(bk==1){
g.drawImage(back,0,0,Graphics.LE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 J2ME 平台 环境 手机 音乐 播放