⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdiapp1.java

📁 jmf实现播放视频
💻 JAVA
字号:

import javax.media.*;

import com.sun.media.ui.*;
import javax.media.protocol.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Vector;

public class MDIApp1 extends Frame {

    /*************************************************************************
     * MAIN PROGRAM / STATIC METHODS
     *************************************************************************/
    
    public static void main(String args[]) {
	MDIApp1 mdi = new MDIApp1();
    }

    static void Fatal(String s) {
	MessageBox mb = new MessageBox("JMF Error", s);
    }    

    /*************************************************************************
     * VARIABLES
     *************************************************************************/
    
    JMFrame jmframe = null;
    JDesktopPane desktop;
    FileDialog fd = null;
    CheckboxMenuItem cbAutoLoop = null;
    Player player = null;
    Player newPlayer = null;
    String filename;
    
    /*************************************************************************
     * METHODS
     *************************************************************************/
    
    public MDIApp1() {
	super("Java Media Player");

	// Add the desktop pane
	setLayout( new BorderLayout() );
	desktop = new JDesktopPane();
	desktop.setDoubleBuffered(true);
	add("Center", desktop);
	setMenuBar(createMenuBar());
	setSize(640, 480);
	setVisible(true);
	
	try {
	    UIManager.setLookAndFeel("javax.swing.plaf.metal.MetalLookAndFeel");
	} catch (Exception e) {
	    System.err.println("Could not initialize java.awt Metal lnf");
	}
	
	addWindowListener( new WindowAdapter() {
	    public void windowClosing(WindowEvent we) {
		System.exit(0);
	    }
	} );

	Manager.setHint(Manager.LIGHTWEIGHT_RENDERER, new Boolean(true));
    }
    
    private MenuBar createMenuBar() {
	ActionListener al = new ActionListener() {
	    public void actionPerformed(ActionEvent ae) {
		String command = ae.getActionCommand();
		if (command.equals("Open")) {
		    if (fd == null) {
			fd = new FileDialog(MDIApp1.this, "Open File",
						       FileDialog.LOAD);
			fd.setDirectory("/movies");
		    }
		    fd.show();
		    if (fd.getFile() != null) {
			String filename = fd.getDirectory() + fd.getFile();
			openFile("file:" + filename);
		    }
		} else if (command.equals("Exit")) {
		    dispose();
		    System.exit(0);
		}
	    }
	};

	MenuItem item;
	MenuBar mb = new MenuBar();
	// File Menu
	Menu mnFile = new Menu("File");
	mnFile.add(item = new MenuItem("Open"));
	item.addActionListener(al);
	mnFile.add(item = new MenuItem("Exit"));
	item.addActionListener(al);

	// Options Menu	
	Menu mnOptions = new Menu("Options");
	cbAutoLoop = new CheckboxMenuItem("Auto replay");
	cbAutoLoop.setState(true);
	mnOptions.add(cbAutoLoop);
	
	mb.add(mnFile);
	mb.add(mnOptions);
	return mb;
    }			
    public boolean check(String time){
		
		Calendar MyDate = Calendar.getInstance();
		SimpleDateFormat form = new SimpleDateFormat("yyyy-MM-dd HH:mm"); 
		String systemtime=form.format(MyDate.getTime());
        System.out.println(form.format(MyDate.getTime())); 
        if(time.equals(systemtime)){
        	return true;
        }
        return false;
}
    /**
     * Open a media file.
     */
    public void openFile(String filename) {
    	
	String mediaFile = filename;System.out.println(mediaFile);
	Player player = null;
	// URL for our media file
	URL url = null;
	try {
	    // Create an url from the file name and the url to the
	    // document containing this applet.
	    if ((url = new URL(mediaFile)) == null) {
		Fatal("Can't build URL for " + mediaFile);
		return;
	    }
	    
	    // Create an instance of a player for this media
	    try {
		player = Manager.createPlayer(url);
	    } catch (NoPlayerException e) {
		Fatal("Error: " + e);
	    }
	} catch (MalformedURLException e) {
	    Fatal("Error:" + e);
	} catch (IOException e) {
	    Fatal("Error:" + e);
	}
	if (player != null) {
	    this.filename = filename;
	    jmframe= new JMFrame(player, filename);
	    if(check("2008-12-30 10:55")){
	    	jmframe.close();
	    }
	    desktop.add(jmframe);
	    
	}
    }
}

class JMFrame extends JApplet  implements ControllerListener{
    Player mplayer;
    Component visual = null;
    Component control = null;
    int videoWidth = 0;
    int videoHeight = 0;
    int controlHeight = 30;
    int insetWidth = 10;
    int insetHeight = 30;
    boolean firstTime = true;
    
    public JMFrame(Player player, String title) {
	//super(title, true, true, true, true);
	getContentPane().setLayout( new BorderLayout() );
	setSize(320, 10);
	setLocation(50, 50);
	setVisible(true);
	mplayer = player;
	mplayer.addControllerListener((ControllerListener) this);
	mplayer.realize();
	/*addInternalFrameListener( new InternalFrameAdapter() {
	    public void internalFrameClosing(InternalFrameEvent ife) {
		mplayer.close();
	    }
	} );
		*/    
    }
    
    public void controllerUpdate(ControllerEvent ce) {
	if (ce instanceof RealizeCompleteEvent) {
	    mplayer.prefetch();
	} else if (ce instanceof PrefetchCompleteEvent) {
	    if (visual != null)
		return;
	    
	    if ((visual = mplayer.getVisualComponent()) != null) {
		Dimension size = visual.getPreferredSize();
		videoWidth = size.width;
		videoHeight = size.height;
		getContentPane().add("Center", visual);
	    } else
		videoWidth = 320;
	    if ((control = mplayer.getControlPanelComponent()) != null) {
		controlHeight = control.getPreferredSize().height;
		getContentPane().add("South", control);
	    }
	    setSize(videoWidth + insetWidth,
		    videoHeight + controlHeight + insetHeight);
	    validate();
	    mplayer.start();
	} else if (ce instanceof EndOfMediaEvent) {
		//当媒体播放结束时,默认为单曲循环播放
	   // mplayer.setMediaTime(new Time(0));
		
	    mplayer.start();
	}
    }
   
    public void close(){
    	mplayer.close();
    }

	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -