优秀的毕业设计论文网
计算机 JAVA 电子信息 单片机 机械机电 模具 土木工程 建筑结构 论文
热门搜索词:网络 ASP.NET 汽车 电气 数控 PLC

基于J2SE的MP3播放器的设计与实现

以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
  
资料介绍:
摘要
随着多媒体技术的发展和人们对音频,视频数据的需求,越来越多的软件加入了多媒体功能。
JMF(Java Media Framework API)是一种采用Java语言开发流式媒体应用应用程序接口。它作为Java Media API技术家族的一个重要组成部分,对Java平台进行了扩展,为媒体应用开发人员提供了增强的媒体开发能力。Java多媒体框架中包含了许多用于处理多媒体的API,所支持的功能包括:可以在Java Applet和应用程序中播放各种媒体文件,例如AU、AVI、MIDI、MPEG、QuickTime和WAV等文件;可以播放从互联网上下载的媒体流;可以利用麦克风和摄像机一类的设备截取音频和视频,并保存成多媒体文件;处理多媒体文件,转换文件格式;向互联网上传音频和视频数据流;在互联网上广播音频和视频数据等。
本系统旨在使用JMF编写一个音频播放器,实现一般播放器的功能,并加入一些当前的播放器不支持的功能。
 
关键词:Java2标准版;Java多媒体框架;MP3播放器
2.2 重要实例:Player对象
1.创建一个Player对象
通过使用媒体Manager 来直接创建一个Player对象,要显示这个Player对象,你获取这个对象的组件并且将这些组件加到你的applet的外观或者应用程序的窗口中。 本文来自think58

[资料来源:http://think58.com]


当你想创建一个新的Player对象时,你通过Manager的createPlayer或者createProcessor的方法创建它。Manager通过使用你指定的媒体的URL对象或者MediaLocator对象来创建一个合适的对象。URL对象只有在相关的URLSteeamHandler被安装的情况下才能被正确的构造,而MediaLocator则没有这个限制。
2.在Player对象未识别(Realized)前阻塞
许多可以被Player对象调用的方法要求Player对象在已被识别(Realized)的状态。保证当你调用这些方法之前Player对象已经被识别的方法是使用Manager提供的createRealizedPlayer方法来创建Player对象。这个方法提供了一个便捷的方式在一步就创建并且识别(Realize)一个Player对象。当这个方法被调用时,它会阻塞直到这个Player对象被识别。Manager也提供了一个相同的createRealizedProcessor方法来创建一个已识别的Processor对象。
注意:阻塞Player对象或者Processor对象直到被识别可能引起不好的结果。比如,如果createRealizedPlayer在一个applet中被调用,Applet.start和Applet.stop将不能打断Player对象的构造过程。
3.显示媒体接口组件
Player对象一般有两种类型的用户接口组件,一个可视化组件和一个控制板组件。有些Player实现可以显示额外的组件,比如说音量控制和下载进度条。

本文来自think58 [资料来源:http://www.THINK58.com]


4.显示一个可视化组件
如果有,一个可视化组件就是Player对象表现媒体的可视化表示。即使一个音频播放器也有可能有一个可视化组件,比如说波形显示或者其它生动的特性。
要显示Player对象的可视化组件,你:
(1)通过调用getVisualComponent得到组件。
(2)将它加到applet的外观表示或者应用程序的窗口中。
你可以通过它的可视化组件访问Player对象的的显示属性,如它的x,y坐标。Player组件的布局受到AWT布局管理器的控制。
5.显示控制面板组件
Player对象通常有一个控制板允许用户控制媒体的表示。比如说,一个Player对象可能一个有开始按钮,结束按钮,暂停按钮和一个用来调控音量的滑动条与其关联。
每一个Player对象提供一个默认的控制板。要显示这个默认的控制板:
(1)调用getControlPanelComponent得到组件。
(2)将返回的组件加到applet的外观表示和应用程序的窗口。
如果你选择定义一个定制的用户接口,你可以实现GUI 组件并且调用正确的Player方法来响应用户的动作。如果你将这个定制组件注册成ControllerListener,当Player对象的状态改变时,你也可以更新这个组件。