cs_Spunk62
Messages postés12Date d'inscriptionmardi 23 septembre 2008StatutMembreDernière intervention15 mai 2010
-
10 nov. 2009 à 17:43
cs_Spunk62
Messages postés12Date d'inscriptionmardi 23 septembre 2008StatutMembreDernière intervention15 mai 2010
-
10 nov. 2009 à 18:26
Bonjour a tous,
J'aimerai grâce a l'api jmf créer un lecteur multimédia, j'ai réussi a lire des fichiers mp3 mais quand je veut lire un fichier de type avi j'ai cette erreur:
Unable to handle format: MP42, 320x233, FrameRate=12.0, Length=223680 0 extra bytes
Failed to realize: com.sun.media.PlaybackEngine@d73c7a
Error: Unable to realize com.sun.media.PlaybackEngine@d73c7a
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import javax.media.*;
public class MediaPlayerDemo extends JFrame {
private Player lecteur;
private File fichier;
public MediaPlayerDemo()
{
super( "Démonstration du Java Media Player" );
JButton ouvrirFichier = new JButton( "Ouvrir le fichier à lire" );
ouvrirFichier.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent e )
{
ouvrirFichier();
creerLecteur();
}
}
);
getContentPane().add( ouvrirFichier, BorderLayout.NORTH );
setSize( 300, 300 );
show();
}
private void ouvrirFichier()
{
JFileChooser choixDeFichier = new JFileChooser();
choixDeFichier.setFileSelectionMode(
JFileChooser.FILES_ONLY );
int resultat = choixDeFichier.showOpenDialog( this );
// Utilisateur clique sur le bouton Annuler dans le dialogue.
if ( resultat == JFileChooser.CANCEL_OPTION )
fichier = null;
else
fichier = choixDeFichier.getSelectedFile();
}
private void creerLecteur()
{
if ( fichier == null )
return;
retirerLecteurPrecedent();
try {
// Creer un nouveau lecteur et ajouter un �couteur.
lecteur = Manager.createPlayer( fichier.toURL() );
lecteur.addControllerListener( new GestionnaireEvenement() );
lecteur.start(); // D�marrage du lecteur.
}
catch ( Exception e ){
JOptionPane.showMessageDialog( this,
"Fichier ou emplacement invalide", "Chargement du fichier"+
" erroné",JOptionPane.ERROR_MESSAGE );
}
}
private void retirerLecteurPrecedent()
{
if ( lecteur == null )
return;
lecteur.close();
Component visuel = lecteur.getVisualComponent();
Component controle = lecteur.getControlPanelComponent();
Container c = getContentPane();
if ( visuel != null )
c.remove( visuel );
if ( controle != null )
c.remove( controle );
}
public static void main(String args[])
{
MediaPlayerDemo application = new MediaPlayerDemo();
application.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
System.exit(0);
}
}
);
}
// Classe interne pour gérer les événements du lecteur multimédia.
private class GestionnaireEvenement implements ControllerListener {
public void controllerUpdate( ControllerEvent e ) {
if ( e instanceof RealizeCompleteEvent ) {
Container c = getContentPane();
// Charger les composants visuel et contr�les s�ils existent.
Component composantVisuel =
lecteur.getVisualComponent();
if ( composantVisuel != null )
c.add( composantVisuel, BorderLayout.CENTER );
Component composantControles =
lecteur.getControlPanelComponent();
if ( composantControles != null )
c.add( composantControles, BorderLayout.SOUTH );
c.doLayout();
}
}
}
}
j'ai récupérer cette source.
je voudrais donc pouvoir lire des fichier avi, j'ai vue que sur le site de sun la jmf devrait les prends en compte.
pouvez-vous m'aidez merci.
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013131 10 nov. 2009 à 18:06
Salut,
Tout dépend les codecs utilisés : JMF est très limité dans les codecs reconnus (as de DivX par exemple...).
Je te conseille d'utiliser une extension native de JMF pour gérer les codecs non reconnus par JMF, tel que Fobs4JMF par exemple.
______________________________________
DarK Sidious