Utilisation JMF application [Résolu]

misterjoidf 35 Messages postés jeudi 30 juin 2011Date d'inscription 2 août 2011 Dernière intervention - 18 juil. 2011 à 13:59 - Dernière réponse : misterjoidf 35 Messages postés jeudi 30 juin 2011Date d'inscription 2 août 2011 Dernière intervention
- 20 juil. 2011 à 11:27
Bonjour à tous !

J'essaye de comprendre comment faire fonctionner un lecteur. L’objectif est de lire une vidéo dans mon application java. J'ai actuellement installé le JMF, puis j'ai placé les jai_codec.jar et jai_core.jar dans le dossier de mon projet.

J'ai actuellement un code que j'ai trouvé sur le net (ci-dessous) mais Eclipse ne reconnait pas les méthodes présentes dans javax.media (ControllerListener,MediaLocator)...

Quelqu'un peut m'aider car je suis dessus depuis 1 semaine et cela n'avance pas lourd

import java.awt.*;
import java.awt.event.*;
import javax.media.*;
import javax.swing.*;

public class LudoMediaPlayer extends JFrame implements  ControllerListener //, Runnable
{
    private boolean closing = false;
    private Player player = null;
    private JPanel videoPanel = null;
    
    /**
     * contructeur LudoMediaPlayer
     * necessite un fichier de film en argument 
     * 
     */
    public LudoMediaPlayer( String nomFilm )
    {
        super();
        setLocation( 200, 400 );
        setTitle("Ludo player ;o) ");
        getContentPane().setLayout( new BorderLayout() );
        //  met en place la methode de sortie de laplication
        addWindowListener( new WindowAdapter()
            {   // la c vrai : je ne fai pas dans le detail ;o)
                public void windowClosing( WindowEvent we ) { System.exit(0); }
            }
                         );
        if ( nomFilm != null)
            loadMovie( nomFilm ); // charge le film
    }

    /**
     * methode de chargement du film a partir de son url
     * dans le player
     */
    private void loadMovie( String movieURL )
    {
        if ( movieURL.indexOf( ":" ) < 3 ) movieURL = "file:" + movieURL;
        try
        {   // creation du player
            player = Manager.createPlayer( new MediaLocator( movieURL ) );
            player.addControllerListener( this ) ; // puisque quee on l implement
            player.realize();
        }
        catch (Exception e)
        {
            System.out.println("Error creating player");
            return;
        }
    }
    
    /**
     * intercep tout les evenement en provenence du player
     * voir dans le package la liste complete des event et leur declencheurs... ;o)
     * @see javax.media.ControllerListener#controllerUpdate(ControllerEvent)
     */
    public void controllerUpdate( ControllerEvent ce )
    {  
        
        if ( ce instanceof RealizeCompleteEvent )
        {   // demarage de la video 
            if ( videoPanel == null)
            {   //creation du panel de vue
                videoPanel = new JPanel();
                videoPanel.setLayout( new BorderLayout() );
                getContentPane().add( videoPanel, BorderLayout.CENTER );
            }   
            else
                videoPanel.removeAll();
            // obtention du composent restituan l image en provenence du player
            Component vis = player.getVisualComponent();
            if ( vis != null )
            {   // si valide alors on la met ds notre vue
                videoPanel.add( vis, BorderLayout.CENTER );
                videoPanel.setVisible(true);
                this.pack(); // resize la taille en fct de la taille du film
            }
            player.start(); // lance la video
        }
        else if ( ce instanceof EndOfMediaEvent )
        {
            if (player != null)
            {   // rembobine le film
                player.setMediaTime(new Time(0));
                if (player.getTargetState() < Player.Started)
                    player.prefetch();
                // relance le film
                player.start();
            }
        }
    }

    public static void main( String[] args )
    {   // reclame   l URL d un film : AVI , MPG ...
        new LudoMediaPlayer( args[ 0 ] ).setVisible( true );
    }
    
}


Peut être ferai je mieux de repartir à zéro, si quelqu'un connait ce truc...

Merci d'avance !
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
misterjoidf 35 Messages postés jeudi 30 juin 2011Date d'inscription 2 août 2011 Dernière intervention - 20 juil. 2011 à 09:12
3
Merci
Il me manquait une librairie externe dans le projet... maintenant faut que je trouve le moyen de prendre une vidéo non pas avec un URL mais avec un chemin, car les vidéos seront en local...

Merci en tout cas
Je devrai demander à mon DG de te rémunérer lol

Merci misterjoidf 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de misterjoidf
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 18 juil. 2011 à 19:34
0
Merci
Bonjour,

Je ne connais pas le package javax.media mais il ne doit pas être par défaut dans le jre, il faut donc que tu l'ajoutes au build path de ton projet.
Commenter la réponse de cs_Julien39
misterjoidf 35 Messages postés jeudi 30 juin 2011Date d'inscription 2 août 2011 Dernière intervention - 19 juil. 2011 à 09:19
0
Merci
Oui me le hic c'est que je pense lavoir fait. J'ai téléchargé l'API JMF, que j'ai installé puis j'ai ajouté deux .jar en librairie à mon projet le jai_core.jar et le jai_codec.jar...

Ou alors il manque une étape... ?
Commenter la réponse de misterjoidf
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 19 juil. 2011 à 13:47
0
Merci
Alors, je ne vois pas ce qui ne va pas. Si tous les jars sont là, ca devrait fonctionner. Il n'y a pas d'erreur dans le build path ? Elles sont signalées avec un carré rouge sur l'icone du jar si c'est le cas
Commenter la réponse de cs_Julien39
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 19 juil. 2011 à 18:16
0
Merci
Juste une vérification ; quand tu dis

jai_codec.jar et jai_core.jar dans le dossier de mon projet.


Le "dossier" est bien le build path : click droit sur le projet puis build path et configure. Et add External jar ?
Commenter la réponse de cs_Julien39
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscription 17 mai 2018 Dernière intervention - 20 juil. 2011 à 09:38
0
Merci
Peux tu lister les libraires que tu as ajouté à ton projet (c'est juste au cas ou quelqu'un aurait le même problème que toi)

Bon courage pour la suite
Commenter la réponse de cs_Julien39
misterjoidf 35 Messages postés jeudi 30 juin 2011Date d'inscription 2 août 2011 Dernière intervention - 20 juil. 2011 à 11:27
0
Merci
J'écrirai un truc complet quand j'y serai arrivé ! Là il ne trouve pas le media player lol

J'ai jamais été aussi près...
Commenter la réponse de misterjoidf

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.