Bonjour !
J'essaie de lire une vidéo par le biais d'une classe denommé VideoPlayer et l'intégré dans mon borderLayout.Center de mon application principale ! Problème rien ne se lit !
Voici le code que j'ai dans applicationPilote :
Pour applicationFrame :
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 public void borderCenter_actionPerformed (ActionEvent event) { videoPlayer = new VideoPlayer (null); // essaie de lire le fichier vidéo try { videoPlayer.start(); } catch (Exception e) { // erreur de lecture System.out.println("Impossible de lire (cause : " + e + ")"); } }
et pour la classe VideoPlayer
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 public void addborderCenterActionListener (ActionListener listener) { contentPane.add ((Component) player, BorderLayout.CENTER); }
J'ai surfé sur le forum et j'ai installé JMF qui fonctionne sans problème sur mon poste... J'ai une interface dans VideoPlayer qu'il faut que j'enleve et que j'affecte le lecteur à mon interface sur application mais impossible = les erreurs s'accumulent !!!
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
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