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

Soyez le premier à donner votre avis sur cette source.

Vue 27 276 fois - Téléchargée 82 309 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

cs_era
Messages postés
77
Date d'inscription
lundi 6 mai 2002
Statut
Membre
Dernière intervention
4 mai 2011
-
c cool come moi on avance pas des masses avec ca
je cherche a lire des divx et autre codec donc comment lui faire charger les codecs
et surtout suivant les plateforme

je me tape la doc complete + le source de la jmf mais ca m aide pas des masses

PS moi je travaille sur la jmf 2.1.1c est ce ca le prob?
cs_GodConan
Messages postés
2116
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
9 -
j avoue que je ne suis pas pencher sur ce genre de problemme ;o)
moi il digere tous les film que je lui est donner mai ce sont des AVI de base et des MPG
Je rgarderai peut etre ;o) mais je doit dire que c pas trop dans mes preoccupation actuel sorry ...

GL

++
cs_neodante
Messages postés
2837
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10 -
En fait si tu regardes la doc de Sun sur leur site, tu découvriras tous les formats gérés par le JMF malheuresement ni le MP3 et encore moins le DivX ne sont accessible. Pour ce qui est de charger des drivers je suis tout ouie d'entredre la solution...
Sinon le code est clair et ça donne une bonne idée de l'implémentation d'un mediaplayer (pour les formats supportés ! ;-))
@+
cs_GodConan
Messages postés
2116
Date d'inscription
samedi 8 novembre 2003
Statut
Contributeur
Dernière intervention
6 octobre 2012
9 -
quel ;o) chipoteur ;o) bon c vrai que ta eu une journee pourrri [;)] ;o)

++
cs_neodante
Messages postés
2837
Date d'inscription
lundi 11 août 2003
Statut
Modérateur
Dernière intervention
16 décembre 2006
10 -
Je vais dormir ... demain je devrais être de meilleur humeur ....
@+

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.