资源描述:
《基于java的音乐播放器的设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、基于java的音乐播放器的设计摘要:在信息,技术高速发展的今天,多媒体技术也越来越受到人们的重视。文章对目前使用较多的音乐播放器作出较详细的比较。通过阅读多张文献,分析了一些音乐播放器的功能并考虑了怎样能实现支持更多格式的音乐文件,怎样能满足使用者对播放器的需求。本文主要介绍了一个基于JavaApplet来实现的音乐播放器的设计。并对系统开发中涉及到的关键技术作了探讨,简要分析介绍了Java技术和Applet的工作原理,最后说明系统需要实现的功能。关键词:java;Applet;音乐播放器;前言近年来,听音乐已成为人们生活的一部分,与此同时,音乐播放器以其平易近人的价格也日趋
2、普及,这大大丰富了业余生活也缓解了工作压力,但尚有诸多不足之处有待改进日常生活中,我们在听音时,常感手动操作甚是麻烦且想寻找某个音频文件须从头到尾逐个查看,这样费时费力很是不便。音乐播放器的实现方法,采用口述音乐文件名的方式即可播放指定歌曲文件,避免了繁琐的查找,亦使其更加人性化,实现了播放器的全自动语音控制。我将来要采用javaApplet的多媒体技术,设计出一个基于javaApplet的音乐播放器。现在电脑上的音乐播放器百花齐放,以Winamp,Foobar2000,千千静听,酷狗和酷我音乐盒最流行。播放器最重要的参数当属支持的格式了,即使只图个响,也需要有丰富的格式作为
3、后盾。在此方面,千千静听支持多种音频格式,除了常见的MP3,WMA等,也支持APE,FLAC等无损压缩格式,它一共支持三十多种音频格式,是一个比较全能的播放器。Winamp也支持非常多的格式,但对APE格式的支持需要安装对应插件;除音频格式外,Winamp还支持一些常见的视频格式,这个功能能为用户带来一些方便。Foobar2000支持的格式数量也差不多,但是对APE的支持仍然需要安装插件。不过Foobar2000有一个特色功能,它支持直接读取压缩包里的音乐文件,从电骡上下载的APE完整碟通常都是打包的,如果用Foobar2000的这个功能就可以不解压直接听歌了。相比之下,酷我
4、音乐盒支持的格式就比较单一了,无论是网上搜索还是本地播放歌曲,都仅支持MP3和WMA种格式。酷狗的表现则稍微好点,除了支持MP3和WMA之外,还支持APE和FLAC格式。而酷我音乐盒,则支持在线MV视频的播放。在本文中我利用java语言设计的音乐播放器的功能跟千千静听,酷狗和酷我音乐盒,Winamp,Foobar2000的功能差不多,不过利用java设计的音乐播放器支持的音频文件格式比它们丰富一点。如:WAP,AIFF,MIDI,AU,RMF等跨平台功能比较强。1Java技术Java技术已经成为当今Internet应用开发的核心与主流技术。这一方面是因为java语言具有面向对
5、象,可移植性,强壮性与安全性等优良特征,另一方面也由于java技术对各个层次的分布式应用(包括电器设备的嵌入式计算,桌面计算与企业级计算)都提供了全面系统的方法与技术。因此,目前java已经从单纯的程序设计语言发展成为支撑Internet计算的大技术体系,进入了发展与应用的高级阶段。1.1java语言对于都数程序设计语言,其程序运行要么采用编译执行,要么采用解释执行的方式。而java语言的特殊之处在于,程序运行既要经过编译又要进行解释,如图1-1所示。首先,java程序由编译器进行编译,产生了一种中间代码,称为java字节码(javabytecodes)。字节码是java虚拟
6、机的代码,是与平台无关的中性代码,因此不能在各种计算机平台上直接运行,必须在JVM上运行。Java解释器是JVM的实现,它把字节码转换为底层平台的机器码,使Java程序最终得以运行。无论是Application还是嵌入式在浏览器中的Applet,都需要通过解释器才能运行。MyProgram.java____________________________________________________________________编译器(Compiler)解释器(Interpreter)MyProgram.class_____________________________
7、____________MyProgram图1-1Java语言的运行1.2Java的特征Java是一种”简单”(simple),面向对象(objectoriented),分布式(distributed),解释性(interpreted),健壮(orbust),安全(secure),体系结构中立(architectureneutral),可移植性(portable),高性能(highperformance),多线程(multithreaded),和动态(dynamic)“的编程语言。1)简单性:Java语