Java – Example Very Simple Player (JMF)

package org.jmf.example;

import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.plaf.metal.MetalLookAndFeel;

public class ExampleJMF
{
public static void main(String[] args)
{
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);

try
{
UIManager.setLookAndFeel(new MetalLookAndFeel());
}
catch(UnsupportedLookAndFeelException e)
{
e.printStackTrace();
}

new exampleFrame();
}
}

package org.jmf.example;

import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;

public class exampleFrame extends JFrame
{
private static final long serialVersionUID = 1L;

public exampleFrame()
{
super("JMF - Example...");

setSize(400, 300);
setLocation((Toolkit.getDefaultToolkit().getScreenSize().width - getWidth())/2, (Toolkit.getDefaultToolkit().getScreenSize().height - getHeight())/2);

addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent evt)
{
System.exit(0);
}
});

setContentPane(new examplePanel());
setVisible(true);
}
}

package org.jmf.example;

import java.awt.Component;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;

import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.Manager;
import javax.media.NoPlayerException;
import javax.media.Player;
import javax.media.RealizeCompleteEvent;
import javax.swing.JPanel;

public class examplePanel extends JPanel implements ActionListener, ControllerListener
{
private static final long serialVersionUID = 1L;

private Component visualComponent;
private Player player;

public examplePanel()
{
try
{
player = Manager.createPlayer(new URL("file:///tmp/a.mpg"));
player.addControllerListener(this);

player.start();
}
catch(NoPlayerException e)
{
e.printStackTrace();
}
catch(MalformedURLException e)
{
e.printStackTrace();
}
catch(IOException e)
{
e.printStackTrace();
}
}

public void paintComponent(Graphics g)
{
super.paintComponent(g);
}

public void actionPerformed(ActionEvent e)
{

}

public void controllerUpdate(ControllerEvent c)
{
if(player == null)
return;

if(c instanceof RealizeCompleteEvent)
{
if((visualComponent = player.getVisualComponent()) != null)
add(visualComponent);
}
}
}

source

Leave a Reply