developpement lecteur multimedia en java.
Bonjour tout le monde
Je m'initie à java framework media, je vouvrais m'amuser à developper une application mulimedia avec java.
Qui lit la video et l'audio.
Mon problème est que j'ai une erreur d'execution.
Voici les code des class
Code principale
Code:
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
|
import java.awt.*;
import javax.swing.*;
public class LecteurM{
public final static int longu =630;
public final static int larg = 825;
public static void main(String[] args)
{
Image icone = Toolkit.getDefaultToolkit().getImage("icon/icon.gif");
JFrame F = new JFrame("Lecteur Multimédia");
F.setSize(larg,longu);
F.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
F.setLayout(new GridBagLayout());
F.setIconImage(icone);
F.setJMenuBar(new Menu());
F.getContentPane().add(new CompoVideo());// ligne 31
F.getContentPane().add(new LectVideo());
F.validate();
F.pack();
F.setVisible(true);
}
} |
code de la class composants
Code:
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
|
import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.awt.event.*;
import javax.swing.event.*;
public class CompoVideo extends JPanel implements ActionListener,MouseMotionListener{
ListeVideo test;
JComponent video;
LectVideo lideo;
public CompoVideo(){
GridBagLayout gridbag = new GridBagLayout();
this.setLayout(gridbag);
video = auvideo();//ligne 47
video.setBorder(BorderFactory.createLineBorder(Color.green));
GridBagConstraints povideo = new GridBagConstraints();
povideo.gridx=0;
povideo.gridy=0;
povideo.gridwidth=1;
povideo.gridheight=1;
povideo.weightx=0;
povideo.weighty=0;
povideo.insets = new Insets(4,4,4,4);
gridbag.setConstraints(video, povideo);
this.add(video);
}
protected JComponent auvideo(){
JPanel panauvide = new JPanel();
GridBagLayout gridbag = new GridBagLayout();
panauvide.setLayout(gridbag);
lideo = new LectVideo();//ligne 174
lideo.setBounds(5,5,450,320);
panauvide.add(lideo);
return panauvide;
}
public void actionPerformed(ActionEvent evt) {
}
public void mouseMoved(MouseEvent evt){
}
public void mouseDragged(MouseEvent evt){
} |
code de la class jfm (java framework media)
Code:
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
|
import java.awt.*;
import javax.swing.*;
import java.net.*;
import javax.media.*;
public class LectVideo extends JPanel implements ControllerListener{
String urlmedia;
Player play;
Component visu;
Component sonor;
Menu mn;
public LectVideo(){
mn = new Menu();
this.urlmedia = mn.address;
URL mediaurl = null;
try{
mediaurl = new URL(urlmedia);
play = Manager.createPlayer(mediaurl);
}catch (Exception e){
}
play.addControllerListener(this);//ligne 45
play.realize();
play.start();
}
public synchronized void controllerUpdate(ControllerEvent event){
if(event instanceof StartEvent){
visu = play.getVisualComponent();
sonor = play.getControlPanelComponent();
if(visu!=null){
this.add(visu);
}
if(sonor!=null){
this.add(sonor);
}
}
}
} |
Voici le code du menu pour la lecture video.
Code:
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
|
fichier = new JMenuItem("Ouvrir fichier vidéo",KeyEvent.VK_T);
fichier.setMnemonic('v');
fichier.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
FileFilter avi = new FiltreSimple("Fichiers avi",".avi");
JFileChooser chooser = new JFileChooser(".");
chooser.addChoosableFileFilter(avi);
chooser.setApproveButtonText("Ouvrir");
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
{
address = chooser.getSelectedFile().getAbsolutePath();
}
}
});
file.add(fichier); |
Voici l'erreur d'execution
Citation:
Exception in thread "main" java.lang.NullPointerException
at LectVideo.<init>(LectVideo.java:45)
at CompoVideo.auvideo(CompoVideo.java:174)
at CompoVideo.<init>(CompoVideo.java:47)
at LecteurM.main(LecteurM.java:32)
Je ne vois pas ce que veut dire c'ette erreur.
Pour vous repérer, j'ai signalé les lignes su les codes.
Que manque t'il, pour corriger ces erreurs.
A bientôt