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
   | 
import java.awt.*;
import java.net.*;
import javax.media.*;
import javax.swing.*;
public class AffichageVideoGeneric extends JFrame implements ControllerListener {
  Player player;
  String urlDocumentMultimedia;
  Container contentPane;
  public static void main(String args[]) {
    if (args.length != 1) usage();
    new AffichageVideoGeneric(args[0]);
  }
  private static void usage() {
    System.out.println("java AffichageVideoGeneric URLDocumentMultimedia");
    System.out.println("Par exemple");
    System.out.println("java AffichageVideoGeneric file:/C:/tmp/VideoSlim_Java.avi");
    System.exit(0);
  }
  public AffichageVideoGeneric(String urlDocumentMultimedia) {
    this.urlDocumentMultimedia = urlDocumentMultimedia;
    contentPane = getContentPane();
    contentPane.setLayout(new BorderLayout());
    URL mediaURL = null;
    try {
      mediaURL = new URL(urlDocumentMultimedia);
      player = Manager.createPlayer(mediaURL);
    } catch (Exception e) {
      System.err.println("Exception dans la creation du Player : " + e);
      System.err.println("mediaURL : " + mediaURL);
    }
    player.addControllerListener(this);
    player.start();
  }
  /** 
   * la méthode controllerUpdate() est lancée sur l'auditeur du 
   * Player à chaque changement de celui-ci. Dans ce programme, c'est 
   * l'objet courant de la classe AffichageVideoGeneric qui est
   * auditeur du Player.
  */
  public synchronized void controllerUpdate(ControllerEvent event) {
    if (event instanceof StartEvent) {
      Component compVisual = player.getVisualComponent();
      Component compControl = player.getControlPanelComponent();
      compVisual.setForeground(Color.red);
      if (compVisual != null)
        contentPane.add(BorderLayout.CENTER, compVisual);
      if (compControl != null)
        contentPane.add(BorderLayout.SOUTH, compControl);
      // valide les ajouts des deux composants ci dessus 
      // dans l'interface graphique;
      validate();
      pack();
      setBounds(100,100,400,400);
      setVisible(true);
    }
  }
} | 
Partager