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
|
// Créer un lecteur en utilisant l'emplacement du média.
public void creerLecteur( String emplacementMedia )
{
// Réinitialiser le lecteur et la fenêtre si un lecteur existe déjà.
if ( lecteur != null )
reinitialiseComposantsLecteur();
// Emplacement de la source du média.
MediaLocator localisateurMedia = new MediaLocator( emplacementMedia );
// Crée un lecteur à partir du localisateurMedia.
try
{
lecteur = Manager.createPlayer( localisateurMedia );
// Inscrire un ControllerListener pour gérer les événements Player.
lecteur.addControllerListener(new GestionnaireEvenementsLecteur() );
// Appeler realize pour permettre la lecture du média.
lecteur.realize();
}
// Aucun lecteur n'existe ou le format n'est pas supporté.
catch ( NoPlayerException noPlayerException )
{
JOptionPane.showMessageDialog(null,"Erreur sur la video , celle ci ne peut être lue"
,"Erreur de lecture",JOptionPane.ERROR_MESSAGE);
// noPlayerException.printStackTrace();
}
// Erreur d'entrée du fichier.
catch ( IOException ioException )
{
JOptionPane.showMessageDialog(null,"l'entrée du fichier est incorrecte"
,"Erreur de lecture",JOptionPane.ERROR_MESSAGE);
//ioException.printStackTrace();
}
} // fin de la méthode creerLecteur
// Retourner le lecteur aux ressources du système
public void reinitialiseComposantsLecteur()
{
// Éliminer le composant vidéo précédent s'il existe.
if ( mediaVisuel != null )
{
panRight.remove( mediaVisuel );
}
// Arrêter le lecteur et restituer les ressources allouées.
lecteur.close();
}
// Obtenir le média visuel et les commandes du lecteur.
public void getComposantsMedia()
{
// Obtenir le composant visuel du lecteur.
mediaVisuel = lecteur.getVisualComponent();
// Ajouter un composant visuel si présent.
if ( mediaVisuel != null )
panRight.add( mediaVisuel, BorderLayout.CENTER );
} // fin de la méthode getComposantsMedia
// Gestionnaire des ControllerEvents du lecteur.
private class GestionnaireEvenementsLecteur extends ControllerAdapter
{
// Prélire le contenu multimédia une fois la réalisation complétée.
public void realizeComplete( RealizeCompleteEvent realizeDoneEvent )
{
lecteur.prefetch();
}
// Le lecteur peut commencer à lire le média une fois la prélecture faite.
public void prefetchComplete(PrefetchCompleteEvent prefetchDoneEvent )
{
getComposantsMedia();
// Assurer un canevas valide pour le cadre.
validate();
// Démarrer la lecture du média.
lecteur.start();
} // fin de la méthode prefetchComplete
} // fin de la classe interne GestionnaireEvenementsLecteur |
Partager