IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Multimédia Java Discussion :

lecteur de video


Sujet :

Multimédia Java

  1. #1
    Membre confirmé Avatar de smh_master
    Inscrit en
    Août 2005
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 143
    Par défaut lecteur de video
    Bonjour à tous,
    je voudrais bien réaliser un lecteur de video et j'ai trouvé plusieurs code sources disponible sur le net mais ils sont à base de jmf.
    Le problème est que le jmf est limité niveau lecture de video vu le nombre restreint de type de fichier qu'il peut lire.
    Donc je voudrais savoir s'il existe d'autre truc, tutorials, etc qui pourront m'aider à faire ce lecteur video qui supporte plusieurs types de video.
    merci.

  2. #2
    Membre éprouvé
    Inscrit en
    Juin 2009
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Juin 2009
    Messages : 138
    Par défaut
    y'a eu une p'tite discussion à ce propos... Peut être y trouveras tu ton bonheur ?? ---> lien

  3. #3
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut
    A noter qu'il existe JFFMpeg comme extension pour JMF.

    C'est basé sur le projet FFMPEG, bien connu des linuxiens, et étant donné la patatée de formats qu'il supporte, ça aide

  4. #4
    Membre confirmé Avatar de smh_master
    Inscrit en
    Août 2005
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 143
    Par défaut
    merci pour les réponses, en faite j'ai quelques questions qui m'intrigue
    Est ce que jmf ça permet de lire des images (pour faire comme une sorte de diaporama)
    ma deuxième question est la suivante:
    j'arrive à lire mpeg et avi mais j'ai besoin d'autres extensions, j'ai trouvé qu'il existe Fobs4JMF mais je ne sais pas comment l'intégrer dans mon projet pour qu'il puisse lire d'autre type de vidéos.
    ma dernière question : j'arrive à récupérer la liste des vidéos qui se trouve dans un dossier mais je ne sais pas comment faire pour les lire à la file (vidéo1 se termine et hop ça commence la vidéo2)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
     
    import java.awt.*;
    import java.awt.event.*;
    import java.io.File;
    import javax.media.*;
    import javax.swing.*;
     
     
    public class MediaPlayer extends JFrame implements  ControllerListener //, Runnable
    {
        private boolean closing = false;
        private Player player = null;
        private JPanel videoPanel = null;
     
        public String [] getFilesNames(String directory){
     
            File fd=new File(directory);
            String fichiers[];
            fichiers=fd.list();
            for (int i = 0; i < fichiers.length; i++) {
                fichiers[i]=directory+fichiers[i];
     
            }
            return fichiers;
        }
     
        public MediaPlayer(){
     
        }
     
        public MediaPlayer( String [] nomFilm )
        {
            super();
     
            setLocation( 200, 400 );
            setTitle("My player");
            getContentPane().setLayout( new BorderLayout() );
            //  met en place la methode de sortie de laplication
            addWindowListener( new WindowAdapter()
                {
                    public void windowClosing( WindowEvent we ) { System.exit(0); }
                }
                             );
            for (int i = 0; i < nomFilm.length; i++) {
            if ( nomFilm[i] != null)
                loadMovie( nomFilm[i]); // 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 ");
                //System.exit(0);
                return;
            }
        }
        public int getDuration(){
            Time t=new Time(0);
            double duration=0;
            //t=player.getMediaTime();
            t=player.getDuration();
            duration=t.getSeconds();
            return (int)duration;
        }
     
        public void closePlayer(){
            player.close();
        }
        public void startPlayer(){
     
            player.start();
        }
     
     
        /**
         * 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);
                    //added
                    Frame f = new Frame();
                    Window w = new Window(f);
                    Dimension dimm =
                    Toolkit.getDefaultToolkit ().getScreenSize();
                    w.setSize(dimm.width,dimm.height);
                    //end of addition
                    this.setLocation(0,0);
                    this.setSize(dimm.width, dimm.height);
                    //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 (modifié)
                    //player.start();
                }
            }
        }
     
        public static void main( String[] args )
        {   // reclame   l URL d un film : AVI , MPG ...
     
            String directory="d:/FinalVideo/";
            MediaPlayer mp=new MediaPlayer();
            int d=0;
            String [] listeFich=mp.getFilesNames(directory);
            ScreenManager sm = new ScreenManager();
            MediaPlayer mp2;
            // Construction d'une résolution d'écran
            DisplayMode dm;
            // Résolution par défaut, la plus courante
            dm=new DisplayMode(1280,800,16,DisplayMode.REFRESH_RATE_UNKNOWN);
     
            for (int i = 0; i < listeFich.length; i++) {
                    mp2=new MediaPlayer(listeFich);
                    sm.setFullScreen(mp2,dm);
                    mp2.setVisible(true);
                    d=mp2.getDuration();
                    System.out.println("Durée du fichier "+i+" est : "+d+"s");
                try {
                    Thread.sleep((d*1000)+1000);
                } catch (Exception e) {
                }
                    mp2.closePlayer();
            }
     
        }
     
    }
    merci pour votre patience et vos réponses

  5. #5
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut
    Citation Envoyé par smh_master Voir le message
    Est ce que jmf ça permet de lire des images (pour faire comme une sorte de diaporama)
    Je ne suis pas certain, mais je pense que JMF est plutôt orienté 'vidéo' et 'audio'.
    Mais si c'est pour faire du diaporama à partir d'images 'standard' (BMP, GIF, JPEG, PNG, ...), les classes standard de Java devraient suffire, non ?

    j'ai trouvé qu'il existe Fobs4JMF mais je ne sais pas comment l'intégrer dans mon projet pour qu'il puisse lire d'autre type de vidéos.
    Et la doc d'install de Fobs4JMF n'a pas pu t'aider ?

  6. #6
    Membre confirmé Avatar de smh_master
    Inscrit en
    Août 2005
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 143
    Par défaut
    merci pour la documentation car le lien que tu m'a fournis est clair et bien expliqué que celui que j'avais lu

    normalement si j'ai bien compris, après avoir bien installé fobs4jmf tout mes projets à base de jmf vont utiliser fobs4jmf au lieu du jmf ???

    Donc si je génére le .jar de mon projet, il doit fonctionner sur n'importe quel machine qui contient fobs4jmf bien configuré ???

  7. #7
    Membre confirmé Avatar de smh_master
    Inscrit en
    Août 2005
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 143
    Par défaut
    personne ne pourrais m'aider pour faire une lecture des videos successives dans une même frame ?

Discussions similaires

  1. Lecteur de video FLV
    Par guillaume40 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 3
    Dernier message: 02/01/2010, 13h28
  2. Réponses: 1
    Dernier message: 01/02/2008, 09h06
  3. Lecteur audio/video => quel librairy
    Par TheBlackReverand dans le forum Windows Forms
    Réponses: 3
    Dernier message: 19/01/2008, 21h59
  4. Quel langage pour lecteur audio/video web ?
    Par Dayren dans le forum Général Conception Web
    Réponses: 4
    Dernier message: 26/06/2007, 10h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo