indiana_jules
Messages postés750Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention23 décembre 2008
-
14 mars 2006 à 09:19
nazim_tafat
Messages postés12Date d'inscriptionvendredi 19 août 2005StatutMembreDernière intervention 4 juin 2008
-
2 mai 2006 à 23:27
Salutation, humbles codeurs,
j'aurais voulu savoir si on pouvait personnnaliser l'interface
graphique du player de la JMF afin de ne pas afficher la durée ...
indiana_jules
Messages postés750Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention23 décembre 200822 15 mars 2006 à 08:24
en fait dans le player, tu as un getControlComponent (bouton de
controle, temps, volume ....) et getVisualComponent(pour afficher la
video). Sachant qu'on peut faire un getGainControl (pour la gestion du
volume), on peut juste afficher le visuel sans avoir tous les boutons
de contôle, et ne mettre ce qui nous intéresse.
public class LudoMediaPlayer extends JFrame implements ControllerListener {
private Player player = null;
private JPanel videoPanel = null;
public LudoMediaPlayer( String nomFilm )
{
super();
setLocation( 200, 400 );
setTitle("Ludo player ;o) ");
getContentPane().setLayout( new BorderLayout() );
// met en place la methode de sortie de laplication
addWindowListener( new WindowAdapter()
{ // la c vrai : je ne fai pas dans le detail ;o)
public void windowClosing( WindowEvent we ) { System.exit(0); }
}
);
if ( nomFilm != null)
loadMovie( nomFilm ); // 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");
return;
}*/
try {
player = Manager.createRealizedPlayer(new MediaLocator(movieURL));
player.addControllerListener( this ) ; // puisque quee on l implement
player.realize();
}
catch (CannotRealizeException ex) {
System.out.println("Error relazed player");
}
catch (NoPlayerException ex) {
System.out.println("Error creating player");
}
catch (IOException ex) {
System.out.println("Error creating player");
}
}
public static void main(String[] args) throws HeadlessException {
LudoMediaPlayer ludoMediaPlayer1 = new LudoMediaPlayer("c:/video/Dell.mpg");
ludoMediaPlayer1.setVisible(true);
}
public void controllerUpdate(ControllerEvent controllerEvent) {
if ( controllerEvent 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 vc=player .getControlPanelComponent();
if(vc!=null)
{ // si valide alors on la met ds notre vue
videoPanel.add( vc, BorderLayout.NORTH );
videoPanel.setVisible(true);
this.pack(); // resize la taille en fct de la taille du film
}
Component vis = player.getVisualComponent();
if ( vis != null )
{ // si valide alors on la met ds notre vue
videoPanel.add( vis, BorderLayout.CENTER );
videoPanel.setVisible(true);
this.pack(); // resize la taille en fct de la taille du film
}
player.start(); // lance la video
}
else if ( controllerEvent instanceof EndOfMediaEvent )
{
if (player != null)
{ // rembobine le film
player.setMediaTime(new Time(0));
if (player.getTargetState() < Player.Started)
player.prefetch();
// relance le film
player.start();
}
}