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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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)
Voici le code du menu pour la lecture video.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 l'erreur d'execution
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
Je ne vois pas ce que veut dire c'ette erreur.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)
Pour vous repérer, j'ai signalé les lignes su les codes.
Que manque t'il, pour corriger ces erreurs.
A bientôt
Partager