Mediaplayer ouvre et lit un fichier video (utilise les api jmf)

Soyez le premier à donner votre avis sur cette source.

Vue 27 599 fois - Téléchargée 82 344 fois

Description

c est tous simple un player qui tourne en boucle et utilise le plus simplement les API de la librairie jmf c un bon debut pour faire meiux
personnelement c est le genre d exemple qui m a manquer qd j ai commencer a me servir de jmf... ;o)

good prog ...

Source / Exemple :


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

/**

  • Creer le 19 nov. 2003
  • @author ludo
  • /
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 ); } }

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
35
Date d'inscription
jeudi 30 juin 2011
Statut
Membre
Dernière intervention
2 août 2011

J'ai réussi à avancer, mais mon problème vient du format.

Je crée des vidéos en WMV, format non reconnu par le lecteur. J'ai téléchargé plusieurs logiciels pour convertir les fichiers mais je ne trouve pas un format qui passe, j'ai toujours un problème... Tu as une idée peut être ?
Messages postés
2116
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
11
Malheureusement l api n a pas beaucoup évoluée ;-( ...
Messages postés
35
Date d'inscription
jeudi 30 juin 2011
Statut
Membre
Dernière intervention
2 août 2011

Salut !

J'ai un bug avec le code, je bosse sous Eclipse, il m'écrit une suite de numéros dans la console et rien ne se passe....

Quelqu'un sait ce qu'il se passe ?
Messages postés
12
Date d'inscription
dimanche 21 novembre 2004
Statut
Membre
Dernière intervention
20 mars 2010

Bonjour à tous.
Pour tous ceux qui ont le problème :
"Unable to handle format: XXXXXX", c'est que le format lut n'est pas pris en compte par la JMF (qui ne gére pas grand chose d'ailleurs).

Je vous conseil de vous rendre sur :
http://www.oracle.com/technetwork/java/javase/formats-138492.html
pour prendre en compte les formats lut.

Sinon, allez sur
java.developpez.com/outils/api/ pour trouver de nouvelle api.

Cordialement

PS ; chez moi, les sons sont lu (en wav), le h263 dans du mpeg est compris, par contre, e n'ai aucune image. Esct-ce normal ?
Messages postés
1
Date d'inscription
jeudi 7 février 2008
Statut
Membre
Dernière intervention
22 novembre 2010

J'ai cette erreur lorsque je lance le programme :
Unable to handle format: MP42, 368x208, FrameRate=25.0, Length=229632 0 extra bytes
Unable to handle format: mpeglayer3, 44100.0 Hz, 0-bit, Stereo, Unsigned, 12000.0 frame rate, FrameSize=9216 bits
Failed to realize: com.sun.media.PlaybackEngine@309cbd4b
Error: Unable to realize com.sun.media.PlaybackEngine@309cbd4b

Je n'arrive donc pas à lire une vidéo. Quelqu'un peut m'aider ?
Afficher les 40 commentaires

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.