Vous êtes sur la page 1sur 11

Universit HASSAN II MOHAMMEDIA CASABLANCA Facult des Sciences BEN MSIK Anne universitaire 2010-2011

Atelier Java Media Framework


JMF

Firdaousse FATTAL / Asmaa KASSED Premire anne Master Qualit logiciel Annes universitaire 2010-2011

Atelier Java Media Framework

Java Media Framework (JMF)


1. Dfinition JMF :
JMF est un Framework pour le traitement des multimdias dans les programmes Java. Cet API peut capturer, jouer, couter, et transcoder des multiples formats de mdias, tend la plate-forme Java, Standard Edition (Java SE) et permet un dveloppement d'applications multimdia multiplateforme.

2. Tlchargement :
Lien de tlchargement du JMF2 : Site officiel de Sun Microsystme qui est rachet par Oracle : http://www.oracle.com/technetwork/java/javase/download-142937.html

Ralis par : Asmaa KASSED/ Firdaousse FATTAL

Page 1

Atelier Java Media Framework

Ici selon votre choix : Windows, Linux ou Mac, notre cas est Windows :

Ralis par : Asmaa KASSED/ Firdaousse FATTAL

Page 2

Atelier Java Media Framework

3. Installation JMF : Etapes dinstallation et intgration dans Netbeans : Installer le JMF en suivant les instructions du programme dinstallation, la fin on obtient :

Extraire le fichier tlcharg sur le disque C:/, ajouter les quatre librairies (.jar) dans votre projet (click droit Buildpath Add externals jars et donnez le chemin de votre fichier extrait.)

4. TP N 1 : Lecteur Audio :
Lexemple reprsente un simple lecteur mp3 crit en Java avec l'API Java Media Framework Le projet a Besoin : JDK 1.6 L'API JMF 2.1.1 : une extension de la JDK, donc une installation pralable de cette API est ncessaire afin de pouvoir excuter votre code. IDE NetBeans 6.7.1.

Cration de linterface Classe Player_mp3 .java :

1. Crez un nouveau projet dans Netbeans et ajouter un JFrame: Player. ce JFrame ajoutez un menu, un JSlider deux JButton et une tiquette sur le fond, c'est que vous ressemble l'image ci-dessous :

Ralis par : Asmaa KASSED/ Firdaousse FATTAL

Page 3

Atelier Java Media Framework

Classe MP3.java : 2. Crez une nouvelle classe et nommez-la mp3.java , cette classe est charge de travailler avec des fichiers MP3 slectionns par lutilisateur. Le code ncessaire est :

Un paquetage principal : javax.media

Ralis par : Asmaa KASSED/ Firdaousse FATTAL

Page 4

Atelier Java Media Framework

Code :

package demo_mp3; import java.io.IOException; import java.net.URL; import javax.media.* ; import java.util.*; import javax.swing.*; //player private Player mediaPlayer; //animation private Timer tiempo ; private TimerTask task; private int speed = 1000;//vitesse private int frame=0; //controle boolean run = false; boolean todo_ok = false; //fichier URL mediaURL=null; String file=""; //autres String t=null; //Filtrer private static FileNameExtensionFilter filter = new FileNameExtensionFilter("Fichier MP3","mp3","mp3");

Ralis par : Asmaa KASSED/ Firdaousse FATTAL

Page 5

Atelier Java Media Framework

//Constructeur public mp3() {} /* Conmmandes du lecture */ public String STOP(){ //vrifier qu'un fichier est selectionne if (todo_ok){ mediaPlayer.stop(); this.todo_ok=false; this.run=false; this.file=""; this.stopAnimation(); } return "Player mp3 - by KASSED & FATTAL"; } /*Lire un fichier mp3 */ public String PLAY(JSlider b){ t ="Il n'existe aucun fichier..."; if (todo_ok){ if(!run){//si play mediaPlayer.start(); this.run=true; t="En cours du lecture"; this.startAnimation(b); } } return t; }

Ralis par : Asmaa KASSED/ Firdaousse FATTAL

Page 6

Atelier Java Media Framework

//pour l'animation public void startAnimation(final JSlider b) { if (todo_ok) { tiempo = new Timer(); task = new TimerTask() { public void run() { //calculer le temps de l'animation de 100% frame = (int) Math.round((mediaPlayer.getMediaTime().getSeconds() * 100)/mediaPlayer.getDuration().getSeconds()); // Lorsque les deux sont gaux signifie que la vido a atteint la fin de la reproduction if(mediaPlayer.getMediaTime().getSeconds() == mediaPlayer.getDuration().getSeconds()){ frame=100; // 100% STOP();//Arret et destruction du lecteur media } else // sinon { //mises jour du Slider b.setValue(frame); //Taux du lecture System.out.println("Temps du reproduction: " + frame + "% de 100%"); } } }; //l'animation commence tiempo.schedule(task,0,speed); } } //arreter l'animation public void stopAnimation() { tiempo.cancel(); task.cancel(); }

Ralis par : Asmaa KASSED/ Firdaousse FATTAL

Page 7

Atelier Java Media Framework

/* Mthode qui affiche une fentre pour ajouter des extraits sonores "Parcourir les fichiers"*/ public String ouvrir_mp3(){ JFileChooser fileChooser = new JFileChooser(); fileChooser.setFileFilter(filter); int result = fileChooser.showOpenDialog(null); if ( result == JFileChooser.APPROVE_OPTION ){ try { //Si vous jouez un mp3, il s'arrte if(todo_ok){this.STOP();} //mediaURL est affect la vido slectionne URL url = fileChooser.getSelectedFile().toURL(); //Placer le nom de la chanson dans la variable file this.file= fileChooser.getSelectedFile().getName(); //URL est attribu au palyer mp3 mediaPlayer = Manager.createRealizedPlayer( url ); //todo_ok est affect true this.todo_ok=true; } catch (NoPlayerException ex) { Logger.getLogger(mp3.class.getName()).log(Level.SEVERE, null, ex); } catch (CannotRealizeException ex) { Logger.getLogger(mp3.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(mp3.class.getName()).log(Level.SEVERE, null, ex); } } return "Player mp3 - " + this.file; }}

Ralis par : Asmaa KASSED/ Firdaousse FATTAL

Page 8

Atelier Java Media Framework

Explication : Comme indiqu dans le code, ce player a les commandes de base pour jouer (PLAY) et (STOP) pour arrter le fichier mp3, plus quelques mthodes pour animer le JSlider . La mthode ouvrir_mp3, prsentera un de dialogue pour vous de trouver votre fichier MP3 et de jouer le tout depuis une interface graphique. Le code est bien comment. 3. Maintenant, pour mettre en uvre ce code dans l'interface, crez une instance de notre classe et ajoutez des mthodes mp3.java leurs contrles correspondants.

// Instancier la classe mp3 mp3 monmp3=new mp3(); private void PlayActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: // play jLabel1.setText(monmp3.PLAY(jSlider1)); } private void StopActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: //arrter un mp3 this.setTitle(monmp3.STOP()); jLabel1.setText("Arrt"); } private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: //ouvrir un mp3 this.setTitle(monmp3.ouvrir_mp3()); }

Ralis par : Asmaa KASSED/ Firdaousse FATTAL

Page 9

Atelier Java Media Framework

5. Conclusion :
JMF fournit une architecture plug-in quelle permet dtre personnalises et tendu. Il permet aussi: La capture audio et vido avec un microphone et une camra, puis l'enregistrement de ces donnes dans un format donn ; Le traitement des fichiers vido (multiplexage, segmentation, compression) ; la transmission et la rception de l'audio et de la vido en temps rel sur Internet (streaming vido) ou sur le rseau comme dj mentionn ;

Ralis par : Asmaa KASSED/ Firdaousse FATTAL

Page 10

Vous aimerez peut-être aussi