home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 August: Tool Chest / Dev.CD Aug 00 TC Disk 2.toast / pc / sample code / quicktime / quicktime for java / detachedcontroller / src / detachedcontroller.java
Encoding:
Java Source  |  2000-06-23  |  2.1 KB  |  86 lines

  1. /*
  2.  * QuickTime for Java SDK Sample Code
  3.  
  4.    Usage subject to restrictions in SDK License Agreement
  5.  * Copyright: © 1996-1999 Apple Computer, Inc.
  6.  
  7.  */
  8. import java.awt.*;
  9. import java.io.*;
  10. import java.awt.event.*;
  11.  
  12. import quicktime.std.*;
  13. import quicktime.std.movies.*;
  14. import quicktime.app.display.*;
  15. import quicktime.io.*;
  16. import quicktime.std.StdQTConstants;
  17. import quicktime.app.players.*;
  18. import quicktime.*;
  19. import quicktime.std.clocks.*;
  20. import quicktime.qd.*;
  21.  
  22.  
  23. public class DetachedController extends Frame implements StdQTConstants{
  24.     public static void main(String args[]) {
  25.         try {
  26.             QTSession.open();
  27.             QTFile file = QTFile.standardGetFilePreview(new int[] { kQTFileTypeMovie });
  28.             new DetachedController(Movie.fromFile(OpenMovieFile.asRead(file)));
  29.         
  30.         } catch (Exception e) {
  31.             e.printStackTrace();
  32.         }
  33.  
  34.     }    
  35.     
  36.     DetachedController(Movie mMovie) throws QTException{
  37.         super ("QT in Java");
  38.         
  39.             // Create the movie and its player - detach movie from controller        
  40.         setControllerCanvas(mMovie);            
  41.  
  42.             // Create the movie controller and the detached canvas.                            
  43.         setMovieCanvas(mMovie);
  44.         
  45.         add (new Label("DETACHED CONTROLLER"), "Center");
  46.         
  47.         addWindowListener(new WindowAdapter () {
  48.             public void windowClosing (WindowEvent e) {
  49.                 QTSession.close();
  50.                 dispose();
  51.             }
  52.                                 
  53.             public void windowClosed (WindowEvent e) { 
  54.                 System.exit(0);
  55.             }
  56.         });
  57.         
  58.         pack();
  59.         show();        
  60.         toFront();
  61.     }
  62.         
  63.     void setControllerCanvas(Movie mMovie) throws QTException {
  64.         QTCanvas controllerCanvas = new QTCanvas();    
  65.         
  66.         MovieController mController = new MovieController(mMovie, mcScaleMovieToFit);
  67.         
  68.         //detach the movie from its controller
  69.         mController.setAttached(false);
  70.         
  71.         QTPlayer qtPlayer = new QTPlayer(mController);
  72.                 
  73.         add(controllerCanvas, "North");
  74.         controllerCanvas.setClient(qtPlayer, true);        
  75.     }
  76.  
  77.     void setMovieCanvas(Movie mMovie) throws QTException{    
  78.         QTCanvas movieCanvas = new QTCanvas();
  79.                 
  80.         MoviePlayer mPlayer = new MoviePlayer(mMovie);
  81.                     
  82.         add(movieCanvas, "South");            
  83.         movieCanvas.setClient(mPlayer, true);                
  84.     }
  85. }
  86.