1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
| import java.awt.Component;
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.EndOfMediaEvent;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Player;
import javax.media.RealizeCompleteEvent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class VideoPlayer
{
private Player player;
private String videoFile;
private JFrame mainFrame;
private JPanel videoPanel;
public VideoPlayer(String videoFile)
{
this.videoFile = videoFile;
mainFrame = new JFrame();
videoPanel = new JPanel();
videoPanel.setLayout(new GridLayout(0,1));
mainFrame.getContentPane().add(videoPanel);
mainFrame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
// stop video
stop();
// ferme l'application
System.exit(0);
}
}
);
}
public void start() throws Exception
{
player = Manager.createPlayer(new MediaLocator(videoFile));
player.addControllerListener(new ControllerListener()
{
public void controllerUpdate(ControllerEvent controllerEvent)
{
if(controllerEvent instanceof RealizeCompleteEvent)
{
Component playerComponent = player.getVisualComponent();
if(playerComponent != null)
{
// ajoute le composant vidéo à notre panel
videoPanel.add(playerComponent);
videoPanel.setVisible(true);
mainFrame.pack();
// lance la lecture de la vidéo
player.start();
}
else
{
JOptionPane.showMessageDialog(mainFrame, "Impossible de lire votre vidéo : " + videoFile);
}
}
else if (controllerEvent instanceof EndOfMediaEvent)
{
System.out.println("end of playing : " + videoFile);
}
}
}
);
player.realize();
mainFrame.setVisible(true);
}
public void stop()
{
if(player != null)
{
player.stop();
}
}
} |
Partager