Utilisation JMF application

Résolu
misterjoidf Messages postés 35 Date d'inscription jeudi 30 juin 2011 Statut Membre Dernière intervention 2 août 2011 - 18 juil. 2011 à 13:59
misterjoidf Messages postés 35 Date d'inscription jeudi 30 juin 2011 Statut Membre Dernière intervention 2 août 2011 - 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 !

7 réponses

misterjoidf Messages postés 35 Date d'inscription jeudi 30 juin 2011 Statut Membre Dernière intervention 2 août 2011
20 juil. 2011 à 09:12
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
3
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
18 juil. 2011 à 19:34
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.
0
misterjoidf Messages postés 35 Date d'inscription jeudi 30 juin 2011 Statut Membre Dernière intervention 2 août 2011
19 juil. 2011 à 09:19
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... ?
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
19 juil. 2011 à 13:47
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
19 juil. 2011 à 18:16
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 ?
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
20 juil. 2011 à 09:38
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
0
misterjoidf Messages postés 35 Date d'inscription jeudi 30 juin 2011 Statut Membre Dernière intervention 2 août 2011
20 juil. 2011 à 11:27
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...
0
Rejoignez-nous