您好,欢迎来到华拓网。
搜索
您的当前位置:首页基于java音乐播放器设计

基于java音乐播放器设计

来源:华拓网


基于java的音乐播放器的设计

摘要:在信息,技术高速进展的今天,多媒体技术也愈来愈受到人们的重视。文章对目前利用较多的音乐播放器作出较详细的比较。通过阅读多张文献,分析了一些音乐播放器的功能并考虑了如何能实现支持更多格式的音乐文件,如何能知足利用者对播放器的需求。本文要紧介绍了一个基于Java Applet来实现的音乐播放器的设计。并对系统开发中涉及到的关键技术作了探讨,简要分析介绍了Java技术和 Applet的工作原理,最后说明系统需要实现的功能。 关键词:java;Applet;音乐播放器; 前言

最近几年来,听音乐已成为人们生活的一部份,与此同时,音乐播放器以其平易近人的价钱也日趋普及,这大大丰硕了业余生活也减缓了工作压力,但尚有诸多不足的地方有待改良日常生活中,咱们在听音时,常感手动操作甚是麻烦且想寻觅某个音频文件须从头至尾逐个查看,如此费时费力很是不便。音乐播放器的实现方式,采纳口述音乐文件名的方式即可播放指定歌曲文件,幸免了繁琐的查找,亦使其加倍人性化,实现了播放器的全自动语音操纵。 我以后要采纳java Applet的多媒体技术,设计出一个基于java Applet的音乐播放器。

此刻电脑上的音乐播放器百花齐放,以Winamp,Foobar2000,千千静听,酷狗和酷我音乐盒最流行。播放器最重要的参数当属支持的格式了,即便只图个响,也需要有丰硕的格式作为后盾。在此方面,千千静听支持多种音频格式,除常见的MP3,WMA等,也支持APE,FLAC等无损紧缩格式,它一共支持三十多种音频格式,是一个比较全能的播放器。Winamp也支持超级多的格式,但对APE格式的支持需要安装对应插件;除音频格式外,Winamp还支持一些常见的视频格式,那个功能能为用户带来一些方便。Foobar2000支持的格式数量也差不多,可是对APE的支持仍然需要安装插件。只是Foobar2000有一个特色功能,它支持直接读取紧缩包里的音乐文件,从电骡上下载的APE完整碟通常都是打包的,若是用Foobar2000的那个功能就能够够不解压直接听歌了。

相较之下,酷我音乐盒支持的格式就比较单一了,不管是网上搜索仍是本地播放歌曲,都仅支持MP3和WMA种格式。酷狗的表现那么略微好点,除支持MP3和WMA之外,还支持APE和FLAC格式。而酷我音乐盒,那么支持在线MV视频的播放。在本文中我利用java语言设计的音乐播放器的功能跟千千静听,酷狗和酷我音乐盒,Winamp,Foobar2000的功能差不多,只是利用java设计的音乐播放器支持的音频文件格式比它们丰硕一点。如:WAP,AIFF,MIDI,AU,RMF等跨平台功能比较强。 1 Java 技术

Java技术已经成为现今Internet应用开发的核心与主流技术。这一方面是因为java语言具有面向对象,可移植性,强壮性与平安性等优良特点,另一方面也由于java技术对各个层次的散布式应用(包括电器设备的嵌入式计算,桌面计算与企业级计算)都提供了全面系统的方式与技术。因此,目前java已经从单纯的程序设计语言进展成为支撑Internet计算的 大技术体系,进入了进展与应用的高级时期。 1.1java语言

关于都数程序设计语言,其程序运行要么采用编译执行,要么采纳说明执行的方式。而java语言的特殊的地方在于,程序运行既要通过编译又要进行说明,如图1-1所示。第一,java程序由编译器进行编译,产生了一种中间代码,称为java字节码(java bytecodes)。字节码是java虚拟机的代码,是与平台无关的中性代码,因此不能在各类运算机平台上直接运行,必需在JVM上运行。Java说明器是JVM的实现,它把字节码转换为底层平台的机械码,使Java程序最终得以运行。不管是Application仍是嵌入式在阅读器中的Applet,都需要通过说明器才能运行。

My __________________________ 解释器 My 编译器 (Compiler) ______________ ___________ My Program

图1-1 Java 语言的运行 1.2 Java的特点

Java是一种”简单”(simple),面向对象(object oriented),散布式(distributed),说明性(interpreted),健壮(orbust),平安(secure),体系结构中立(architecture neutral),可移植性(portable),高性能(high performance),多线程(multithreaded),和动态(dynamic)“的编程语言。 1)简单性:Java语言语法和语义都比较单纯,,容易学习和利用。

2)面向对象:作为一种面向对象的编程语言,Java不仅最为“纯洁”,同时,它对面向对象方式的支持最为全面。另外,Java通过抽象类和接口(interface)支持面向的多态性要求,既一个对外接口,多种内部实现。

3)散布式特点:Java实现两种层次上的散布。(1)数据散布支持:通过java的URL类,Java程序能够访问网络扯谎那个的各类信息资源。访问方式完全类似于本地文件系统。(2)操作散布支持:java通过嵌在 WWW页面中的Applet(小应用程序)将计算从服务器分布至客户机。Applet由WWW阅读器在客户端执行,从而幸免了网络拥堵,提高了系统效率。

4)java的说明性:运行Java程序需要说明器。程序被编译为成为字节代码的Java

虚拟机代码。字节代码与机械无关,能够在任何有Java说明器的机械上运行。 5)健壮性:Java提供自动垃圾搜集来进行内存治理,避免程序员在治理内存时容易产生的错误。

6)平安性:在发散布式环境中,平安性是一个十分重要的问题。Java在语言和运行环境中引入了多级平安方法,其采纳的要紧平安机制有:

(1)内存分派及布局由Java运行系统规定。

(2)运行系统执行基于数字签名技术的代码认证,字节码验证与代码访问权限操纵的。

7)体系结构中立:Java语言的设计不是针对某种具体平台结构的。

8)可移植性:Java是迄今为止对可移植性支持最正确的编程语言。Java的最大特点是“一次编程,处处运行”。

9)高性能:Java语言尽管采取字节码说明运行方式,但由于字节码与机械码十分接近,使得字节码到机械码的转换十分快捷。

10)多线性:线程是比进程更小,更为经济的并发执行单位,它与进程的要紧不同在于它不拥有单独的资源,而是与其他线程共享所属进程的资源。 11)动态性:Java的动态性是其面向对象设计的延伸。 2 Java Applet概念

Applet(小应用程序)是Java与Web相结合而引入的一种重要的Java应用形式,它不仅使Web页具有动画,声音,图像和其他特殊成效,更重要的是能够使Web页能够与用户动态进行交互,接收用户的输入,然后依照用户的输入作出不同的反映。它是能够嵌入到HTML页面中,并能够在阅读器中运行的Java类。Applet自身不能运行,必需嵌入在其他应用程序(例如 Web 阅读器或Java Appletviewer)中运行。Applet类提供了从制定的URL获取图像和声音的方式,使Applet能够很方便地 实现多媒体功能。当图像数据通过网络下载时,由于受网络带宽 等因素的,用户在阅读器中看到的一样 是渐渐增加的图像显示进程。获取指定URL上的声音数据,返回一个类型为AudioClip的对象,通过该对象

能够实现声音演播。 2.1 Applet 类

生成 Applet要创建Applet类的子类,一个Applet的运行为框架由Applet类来决定的。Applet类提供了从指定的URL获取图像和声音的方式,使Applet能够很方便地实现多媒体功能的。

要编写Applet小应用程序,就必需继承Applet类,并覆盖其中必要的方式。Applet类为applet提供了大体的框架结构是applet和其运行环境之间的标准接口。Web阅读器能够自动挪用以下方式来操纵applet小应用程序的生成和运行:

1init方式 ○2Start 方式 ○3stop 方式 ○4destroy 方式 ○

3 设计本系统要用到的Java关键技术 在Applet中播放声音的方式和步骤

在包中的Applet类和AudioClip接口提供了播放声音的大体支持。以前运算机存储声音文件的格式有许多,目前Java只支持一种声音文件格式有.au,.mid,.wav等。关于其他格式的文件,能够用相应地工具软件将它们转换为.au或.mid等Java支持的文件。在Applet中播放声音文件有两种方式: (1)在Java的API中,Applet类提供了一个方式play(),它能够直接依照URL

地址来播放声音。那个方式指定如下: Public void play(URL url);

Public void play(URL url,string soundFile);

在第一种方式的概念中,参数url是保留声音文件的绝对URL地址,即统一资源定位,它指定Web网上的一个声音文件;在第二种方式概念中,参数URL是保留声音文件的基地址,而参数soundFile是声音文件的文件名。若是声音文件与Applet的HTML文件在相同的目录下,那么能够通过利用getCodeBase()方式来取得该声音文件的基地址。若是Applet本身的URL地址为 “那么语句:

Play(gatCodeBase(),“”); 等同于语句: Play(“;

在程序编写进程中,假设利用第一种方式概念,那么将程序由一个效劳器转移到另一效劳器上或从一个目录转移到另一个目录下时,必需改变源代码中的URL地址:假设利用第二种方式概念,即利用getCodeBase()方式来定位资源文件,那么将程序由一个效劳器转移到另一个效劳器或从一个目录转移到另一个目录下时,没必要改变源代码中的URL地址,而只需将声音文件与播放他的Java文件放在同一目录下即可。

Play()方式只能进行简单的播放,只能一次敬爱那个声音文件播放完,没有停止和持续播放的功能,因此,一样编写播放声音的程序时不采纳此方式。 (2)利用Java中的AudioClip类对象播放声音文件。AudioClip类提供了两种获取声音数据的方式,概念如下: AudioClip getAudioClip(URL url);

AudioClip getAudioClip(URL url,String soundFile); 它们的参数含义与以上相同。利历时可按如下步骤。 1)声明一个AudioClip类的对象,如: ○

AudioClip audio;

2)利用getAudioClip()方式为AudioClip类的对象取得句柄,如: ○

aud=getAudioClip(getCodeBase(),“”); 或一次完成,如:

AudioClip aud=getAudioClip(getCodeBase(),“”); 或:

AudioClip aud=getAudioClip(“HTTP3.2.13.2.23.2.3ava程序设计[M].北京:机械

工业出版社,2005,10:309-312.

[2]朱喜福,赵敏,夏齐霄,等.java程序设计[M].北京:人民邮电出版社,2005,2:272-290. [3] Liang 著,马海军,景丽等 译.java编程原理与实践[M].北京:清华大学出版社2005,8:367-3.

[4]徐明浩 著,武转海,译.java编程基础应用与实例[M].北京:人民邮电出版社,2005,10:342-347.

[5] 蔡学镛.java历史回忆[J].王祖析.基于java技术的网络教学互动系统的构建[J].学术探讨,2020:74-78.

[7]汤庸 主编,冯至圣,申建芳 等.java 程序设计与实践[J].北京:冶金工业出社,2003,1:208-212.

[8] 马义德 ,周炜超 ,文 芳 ,李柏年,李 庚 . 基于SPCE061A 的声控 mp3播放器设计[J]. 电子设计,2020:217-301.

[9] 周华中,李继凯.基于J2ME 流媒体播放器的模型设计[J].科技创新导报,2020:15-18. [10]春水东流. [J]. 电脑迷,2020,(7).

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo3.cn 版权所有 湘ICP备2023017654号-3

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务