java播放器

04-02-13 cxl1980310
!!!各位老大我快下冈了!!!

最近开发了一个applet的视频程序,但用行在网络上不行

下载JMF2.1.1e播放组件地址

http://java.sun.com/products/java-media/jmf/2.1.1/download.html

//***********************************************************************************

//***********************************************************************************

<html>

<applet code="jmf.class" width=150 height=50>

<param name="file" value="cxl.MP3">

</applet>

</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();

}

}

}

eric_o_z
2004-02-18 14:40
不想看这些代码,想想会不会是applet安全性限制的问题?然后找本书看看吧。

猜你喜欢