misterjoidf
Messages postés35Date d'inscriptionjeudi 30 juin 2011StatutMembreDernière intervention 2 août 2011
-
18 juil. 2011 à 13:59
misterjoidf
Messages postés35Date d'inscriptionjeudi 30 juin 2011StatutMembreDerniè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...
misterjoidf
Messages postés35Date d'inscriptionjeudi 30 juin 2011StatutMembreDerniè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
misterjoidf
Messages postés35Date d'inscriptionjeudi 30 juin 2011StatutMembreDerniè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...
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 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
Vous n’avez pas trouvé la réponse que vous recherchez ?