搭建JMF运行平台(Eclipse) ,转自http://hi.baidu.com/%C4%BE%D2%D7%D8%A3/blog/item/6de16263e6adb0d0e7113aae.html
选择使用Windows xp操作系统,如果想利用JMF的功能,就必须要安装Sun公司的JDK和JMF(Java Media Framework),下载和安装在下面都有详细的介绍。因为个人原因,我比较喜欢用Eclipse做为开发平台,所以这里就只写了在Eclipse里配置JMF的方法,至于其它的环境如JBuilder,JCreator,NetBeans等都可以用来开发JMF,只需要将JAR包添加到集成开发环境的库中就可以了。
1安装并配置JDK
去SUN公司的官方网站下载JDK。具体下载地址:http://Java.sun.com/j2se/,选择1.5版(本系统使用JDK1.5.0)。
(1) 运行下载的JDK的exe安装文件。
(2) 在弹出的对话框中选择I accept the terms in the license agreement选项,同意协议内容,然后单击Next按钮继续下一步。
(3) 默认的就是安装所有的JDK组件,不必改变它。但将默认的安装路径改为“C:\jdk1.5.0”,然后单击Next按钮继续下一步。
(4) 默认已经选中“Microsoft Internet Explorer”选项,不必改变它,直接单击Next按钮,开始安装JDK。
(5) 安装完成后,设置环境变量。选择“控制面板->系统->高级->环境变量”选项,然后创建一个JAVA_HOME变量,变量值为C:\jdk1.5.0,在path变量后加上C:\jdk1.5.0\bin,再在classpath变量后C:\jdk1.5.0\lib\dt.jar;C:\jdk1.5.0\lib\tools.jar。
2 安装JMF
JMF(Java Media Framework)是Sun公司提供的专门开发和支持运行Java多媒体应用程序的API(应用程序接口),用于处理视频、音频媒体的扩展应用开发包,它集成了对视、音频的采集、编码、传输、播放等处理。
JMF可以从Sun公司的http://www.sun.com/products/java-media/jmf上下载。应用于Windows操作系统中的JMF是一个自解的EXE文件,直接在Windows操作系统中执行该文件,即进入JMF安装向导,根据向导提示可以完成JMF的安装。
JMF安装时应注意选择安装路径(C:\jdk1.5.0\),因为,JMF的开发和运行环境是在JDK的支持下实现的。在JMF的安装过程中,最好选择将JMF的开发和运行环境安装在JDK的路径中,使JMF的运行和开发环境与JDK融为一体,这样可以免去在计算机操作系统中设置开发和运行Java多媒体应用程序环境变量的步骤。也就是将javax.meida和javax.sound等jar包添加到c:\jdk1.5.0\bin里了,这样就省掉设置JMF的环境变量了。
安装完毕后,JMF会自动查找在安装的主机上的音频和视频设备,这可能要花费一点时间。搜索完毕后将会把这写信息添加到JMF ReGIStry中,可以通过JMF Registry调整和管理详细的说明可以到Sun的网站上,非常的详细,不过是E文的。
3 安装并配置Eclipse
去Eclipse的官方网站(www.eclipse.org)下载Eclipse软件包。本系统使用Eclipse3.1版。具体下载地址:http://download.eclipse.org/downloads/。
Eclipse的安装是非常简单的,它属于绿色软件的安装方法:不需要运行安装程序,不需要往Windows的注册表写出信息,只需要将下载的Eclipse压缩包解开就可以运行Eclipse了。解压后复制到C盘。
将JMF包加入到构建路径上。操作步骤如下:
1) 进入Eclipse主菜单,然后单击工具栏中的“窗口”选项。
(2) 在弹出窗口中选择“java -> 已安装的JRE -> 添加”。
(3) 在JRE 名称上填JMF¬_HOME,
(4) 在JRE主目录里选择浏览,然后找到JDK的位置,确定完成设定。
4安装SWT Designer
SWT Designer的下载地址是:http://www.swt-designer.com/,不同的版本Eclipse需要使用相应版本的SWT Designer,本系统选用SWT Designer的版本V2.1.0GA。
SWT Designer具体安装步骤如下:
(1) 将下载的安装文件解压缩。
(2) 将解压缩后的目录plugins下的两个子目录复制到Eclipse的plugins目录中。
只需要用以上两步就完成了安装。然后检查一下是否安装成功了。打开Eclipse主菜单,选择“文件->新建->其他”选项,如果在弹出的新建项目对话框中多了一个“Designer”项,则表示SWT Designer按照成功。
在引入外部包的时候可以不用上面的方法进行引入
一个简单的JMF mp3播放检测程序:
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import javax.swing.*;
import java.io.File;
import java.io.IOException;
import javax.media.*;
public class test3
{
public static void main(String[] args)
{
frame myframe=new frame();
myframe.setSize(500,500);
myframe.setVisible(true);
myframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myframe.setLocation(500,500);
}
}
class frame extends JFrame implements ControllerListener {
Player myPlayer=null;
URL url=null;
File file=new File("F:\\04.mp3");
Component vc,cc;
Panel mypanel=new Panel();
public frame()
{
try {
url=file.toURI().toURL();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
myPlayer=Manager.createPlayer(url);
} catch (NoPlayerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.add(mypanel);
myPlayer.addControllerListener(this);
myPlayer.prefetch();
}
public void controllerUpdate (ControllerEvent e)
{
//如果是Player达到prefect状态,则开始
if (e instanceof PrefetchCompleteEvent)
{
myPlayer.start ();
return;
}
//如果是已经完成实例,则加入控制面板,视频面板
if (e instanceof RealizeCompleteEvent)
{
vc = myPlayer.getVisualComponent ();
if (vc != null)
add(vc);
cc = myPlayer.getControlPanelComponent ();
if (cc != null)
add(cc, BorderLayout.SOUTH);
pack();
}
}
}