IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Multimédia Java Discussion :

lecture de flux video dans borderLayout.CENTER


Sujet :

Multimédia Java

  1. #1
    Membre éclairé Avatar de Dsphinx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 082
    Points : 884
    Points
    884
    Par défaut lecture de flux video dans borderLayout.CENTER
    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 :

    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 + ")");
    		}
    	}
    Pour applicationFrame :

    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);
    	}
    et pour la classe VideoPlayer

    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();
    			}
    		}
     
    }
    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 !!!

  2. #2
    Membre éclairé Avatar de Dsphinx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 082
    Points : 884
    Points
    884
    Par défaut
    Toujours pas de réponse... Excusez-moi si j'ai mal formulé ma requete, je vais reformuler... Bref je voudrais lire un fichier video à travers une classe (jusque la pas de soucis) mais je voudrais pouvoir l'insérer à l'intérieur d'un Panel et au centre de ce dernier (grâce à BorderLayout.CENTER) !

    Cependant lorsque je fais cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monPanel.add(player, BorderLayout.CENTER)
    il me dit de changer le type de ma variable player -> voici les propositions d'Eclipse : "Cast argument 'player' to 'java.awt.Component'" ou encore "Change player of 'player' to 'Component'" !

    Je ne suis pas un pro en Eclipse ni en Java donc si vous pourriez me donner un petit coup de pouce ça en serait pas de refus !

    Merci de votre aide !!!!!

  3. #3
    Membre actif Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Points : 291
    Points
    291
    Par défaut
    Le truc c'est que tu est en train d'essayer de mettre dans ton interface graphique un objet qui n'est pas de type component.
    Ca revient a faire panel.add(int i=5); si tu vois ce que je veux dire.
    Je regarde si je trouve des infos je te dis ca dans un instant.

  4. #4
    Membre éclairé Avatar de Dsphinx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 082
    Points : 884
    Points
    884
    Par défaut
    ouais je comprend j'essayer de mettre des fruits et légumes dans le réservoir de mon auto ...

    Merci Fumiste972 c'est sympa de prendre le temps de regarder !!!

  5. #5
    Membre actif Avatar de fumiste972
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Février 2003
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Février 2003
    Messages : 228
    Points : 291
    Points
    291
    Par défaut
    Par contre apparement la classe MediaPlayer herite de JComponent --> JContainer donc ca va peut etre faire l'affaire.
    J'ai trouve un site avec un tp dessus :
    http://cedric.cnam.fr/~farinone/CCAM/TPMultimedia/JMF/index.html

    Et sur ce site tu peux telecharger un fichier .java avec un lecteur video. Mais je ne sais pas si c'est complet. Donc regarde si tu arrives a te debrouiller avec.
    PS: je te mets le fichier .java en piece jointe au cas ou...
    Fichiers attachés Fichiers attachés

  6. #6
    Membre éclairé Avatar de Dsphinx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 082
    Points : 884
    Points
    884
    Par défaut
    bin merci je vais voir tout ca ! Bon le code est pour JMStudio de JMF ! Pas grave !

Discussions similaires

  1. lecture d'une video dans un panel
    Par abraxis dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 07/07/2011, 17h40
  2. Marge pour composant dans BorderLayout.Center
    Par Micke7 dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 18/06/2010, 11h08
  3. Lecture de video dans une meme zone
    Par zahiton dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 18/10/2007, 09h14
  4. Page HTML dans un borderLayout(Center) !
    Par Dsphinx dans le forum Agents de placement/Fenêtres
    Réponses: 14
    Dernier message: 26/09/2006, 08h17
  5. [lecteur flux RSS]Problème de lien dans lecture de flux RSS
    Par pistache42 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/09/2006, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo