En utilisation l’API JMF, les programmeurs peuvent créer des applications Java qui jouent, éditent et capturent plusieurs type de Media.
Dans cette section nous allons développer une application qui lit les fichiers Vidéos.
Pour commencer, Téléchargez le JFM depuis le site officiel de Oracle à l’adresse suivante:
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-client-419417.html#7372-jmf-2.1.1e-oth-JPR
Création d’un JPanel qui Lit le Média
Vous pouvez utiliser plusieurs mécanisme pour lire vos fichiers, mais dans cet exemple nous avons préféré
l’interface <em><strong>Pleyer</strong></em>
du package <em><strong>javax.media</strong></em>
.
Pour lire un fichier nous créons un objet URL qui est utilisé en paramètre de la
fonction statique createRealizedPlayer
import java.awt.BorderLayout;
import java.awt.Component;
import java.io.IOException;
import java.net.URL;
import javax.media.CannotRealizeException;
import javax.media.Manager;
import javax.media.NoPlayerException;
import javax.media.Player;
import javax.swing.JPanel;
public class Lecteur extends JPanel
{
public Lecteur( URL url_media )
{
setLayout( new BorderLayout() );
Manager.setHint( Manager.LIGHTWEIGHT_RENDERER, true );
try
{
// Créer un lecteur pour lire le fichier specifié
Player mediaPlayer = Manager.createRealizedPlayer( url_media );
// Créer les composants de video et de contrôle PlaysBack
Component video = mediaPlayer.getVisualComponent();
Component controles = mediaPlayer.getControlPanelComponent();
// Ajouter les composants dans le JPanel
if ( video != null )
add( video, BorderLayout.CENTER );
if ( controles != null )
add( controles, BorderLayout.SOUTH );
// Lancer la lecture de fichier sélectionné
mediaPlayer.start();
}
catch ( Exception err )
{
System.err.println( "Erreur: "+err );
}
}
}
Pour Tester l’application, nous allons créer une classe teste qui fait appel à notre classe Lecteur
import java.io.File;
import java.net.*;
import javax.swing.*;
public class TestLecteur
{
public static void main( String args[] )
{
// Créer un objet JFileChooser
JFileChooser fileChooser = new JFileChooser();
// Afficher le JFileChooser
int etat = fileChooser.showOpenDialog( null );
// Si un fichier a été sélectionné
if ( etat == JFileChooser.APPROVE_OPTION )
{
URL fichierVideo = null;
try
{
fichierVideo = fileChooser.getSelectedFile().toURL();
JFrame mediaTest = new JFrame( "Lecteur Multimedia" );
mediaTest.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
// Faire appel à la classe Lecteur créée précédemment
Lecteur monLecteur = new Lecteur( fichierVideo );
mediaTest.add( monLecteur );
// Afficher le lecteur
monLecteur.setSize( 350, 300 );
monLecteur.setVisible( true );
}
catch ( Exception err )
{
JOptionPane.showMessageDialog(null, "Erreur "+err );
System.exit(0);
}
}
}
}