!!!各位老大我快下冈了!!!
最近开发了一个applet的视频程序,但用行在网络上不行
下载JMF2.1.1e播放组件地址
http://java.sun.com/products/java-media/jmf/2.1.1/download.html
//***********************************************************************************
//***********************************************************************************
//***************************************************************************************
//***************************************************************************************
//*****************************************************************************************
import javax.media.*;
import java.awt.*;
import com.sun.media.*;
import javax.media.protocol.*;
import javax.media.protocol.DataSource;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
import java.net.*;
import java.applet.*;
import java.lang.*;
import sun.audio.*;
public class jmf extends JApplet implements ActionListener,ControllerListener
{
Container con=this.getContentPane();
private Component vc,cc;
private Player pp=null;
private JMenuBar jMenuBar1 = new JMenuBar();
private JMenu jMenu1 = new JMenu();
private JMenu mm=new JMenu();
private JMenuItem jMenuItem1 = new JMenuItem();
private JMenuItem jMenuItem2 = new JMenuItem("播放本地文件");
private JMenuItem jMenuItem3 = new JMenuItem("停止播放");
private JMenuItem jMenuItem4 = new JMenuItem();
Font fon=new Font("宋体",15,15);
private Properties pro=new Properties();
private String filepath=null;
private String FileName=null;
private String text;
private File fi;
private URL ur;
private boolean first=true;
private boolean loop=false;
public void init()
{
try
{
}catch(Exception se)
{
System.out.println(se.toString());
}
jMenuItem1.setText("播放");
jMenu1.setFont(fon);
jMenuItem1.setFont(fon);
jMenuItem2.setFont(fon);
jMenuItem3.setFont(fon);
jMenuItem4.setFont(fon);
jMenuItem2.setFont(fon);
jMenuItem3.setFont(fon);
jMenuItem4.setFont(fon);
jMenu1.setText("选择播放");
jMenuItem4.setText("退出");
jMenuBar1.add(jMenu1);
jMenu1.addSeparator();
jMenu1.add(jMenuItem1);
jMenu1.addSeparator();
jMenu1.add(jMenuItem3);
jMenu1.addSeparator();
this.setJMenuBar(jMenuBar1);
jMenuItem1.addActionListener(this);
jMenuItem3.addActionListener(this);
jMenuItem2.addActionListener(this);
}
//jMenuitem1 event
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==jMenuItem1)
{
playstart();
}
if(e.getSource()==jMenuItem3)
{
if(pp!=null)
pp.stop();
}
if(e.getSource()==jMenuItem2)
{
}
}
public void playstart()
{
try
{
FileName=this.getParameter("file");//从APPLET中提取播放文件
ur=new URL(getDocumentBase(),FileName);
pp=Manager.createPlayer(ur);//产生播放地址
if(pp!=null)
pp.addControllerListener(this);
pp.prefetch();
setSize(150,50);
}
catch(IOException se)
{
JOptionPane.showMessageDialog(null,se.toString(),"",JOptionPane.ERROR_MESSAGE);
}
catch(NoPlayerException se)
{
JOptionPane.showMessageDialog(null,ur.toString()+"不能播放","错误",JOptionPane.ERROR_MESSAGE);
}
catch(Exception se)
{
JOptionPane.showMessageDialog(null,se.toString());
}
}
//播放器事件和组件输出
public synchronized void controllerUpdate (ControllerEvent se)
{
if(se instanceof RealizeCompleteEvent)
{
if((vc=pp.getVisualComponent())!=null)
{
con.add("center",vc);
}
if((cc=pp.getControlPanelComponent())!=null)
if(vc!=null)
{
con.add("South",cc);
repaint();
}
else
{
con.add("Center",cc);
validate();
repaint();
}
}
else if(se instanceof PrefetchCompleteEvent)
{
pp.start();
}
}
}